]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Do not print pointer if successfully converted UD to a string
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 10 Jul 2018 12:46:36 +0000 (13:46 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 10 Jul 2018 12:46:36 +0000 (13:46 +0100)
src/lua/lua_logger.c

index f112b4dfc0c4d9d2cb94cb4a1daf493e88a96301..a1297563b430f1b008defd2dc6824ed6e593478e 100644 (file)
@@ -319,6 +319,7 @@ lua_logger_out_userdata (lua_State *L, gint pos, gchar *outbuf, gsize len)
 {
        gint r, top;
        const gchar *str = NULL;
+       gboolean converted_to_str = FALSE;
 
        top = lua_gettop (L);
 
@@ -348,6 +349,10 @@ lua_logger_out_userdata (lua_State *L, gint pos, gchar *outbuf, gsize len)
                }
 
                str = lua_tostring (L, -1);
+
+               if (str) {
+                       converted_to_str = TRUE;
+               }
        }
        else {
                lua_pushstring (L, "class");
@@ -362,7 +367,14 @@ lua_logger_out_userdata (lua_State *L, gint pos, gchar *outbuf, gsize len)
                str = lua_tostring (L, -1);
        }
 
-       r = rspamd_snprintf (outbuf, len + 1, "%s(%p)", str, lua_touserdata (L, pos));
+       if (converted_to_str) {
+               r = rspamd_snprintf (outbuf, len + 1, "%s", str);
+       }
+       else {
+               /* Print raw pointer */
+               r = rspamd_snprintf (outbuf, len + 1, "%s(%p)", str, lua_touserdata (L, pos));
+       }
+
        lua_settop (L, top);
 
        return r;