]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Fix stupid memory leak
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 2 Sep 2021 12:32:09 +0000 (13:32 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 2 Sep 2021 12:32:09 +0000 (13:32 +0100)
src/libmime/message.h
src/libserver/html/html_tag.hxx
src/rspamadm/commands.c

index 25bf70f77cd2a9af136578cc63debc878379e05a..a391daf0d673287994ad3ff9dae3167ea2a4f72b 100644 (file)
@@ -26,7 +26,6 @@ extern "C" {
 
 struct rspamd_task;
 struct controller_session;
-struct html_content;
 struct rspamd_image;
 struct rspamd_archive;
 
@@ -144,7 +143,7 @@ struct rspamd_mime_text_part {
        UText utf_stripped_text; /* Used by libicu to represent the utf8 content */
 
        GPtrArray *newlines;    /**< positions of newlines in text, relative to content*/
-       struct html_content *html;
+       void *html;
        GList *exceptions;    /**< list of offsets of urls                                              */
        struct rspamd_mime_part *mime_part;
 
index 357e11bfb0d939df6367ec5890c1f56bf51202b6..b6fc73120dba1c29b0dd3296fe7cfb362026b8fb 100644 (file)
@@ -26,6 +26,9 @@
 
 #include "html_tags.h"
 
+struct rspamd_url;
+struct html_image;
+
 namespace rspamd::html {
 
 enum class html_component_type : std::uint8_t {
index 9f243c707fddb3c5b21c47d37df1320ce4944c24..aabf6747ef6257afe8691aeb9cf768d78e7e3c6e 100644 (file)
@@ -128,14 +128,12 @@ static const gchar *
 rspamadm_lua_command_help (gboolean full_help,
                                                  const struct rspamadm_command *cmd)
 {
-       struct thread_entry *thread = lua_thread_pool_get_for_config (rspamd_main->cfg);
-
-       lua_State *L = thread->lua_state;
-
        gint table_idx = GPOINTER_TO_INT (cmd->command_data);
 
        if (full_help) {
+               struct thread_entry *thread = lua_thread_pool_get_for_config (rspamd_main->cfg);
 
+               lua_State *L = thread->lua_state;
                lua_rawgeti (L, LUA_REGISTRYINDEX, table_idx);
                /* Function */
                lua_pushstring (L, "handler");
@@ -152,8 +150,11 @@ rspamadm_lua_command_help (gboolean full_help,
                if (lua_repl_thread_call (thread, 1, (void *)cmd, lua_thread_str_error_cb) != 0) {
                        exit (EXIT_FAILURE);
                }
+
+               lua_settop (L, 0);
        }
        else {
+               lua_State *L = rspamd_main->cfg->lua_state;
                lua_rawgeti (L, LUA_REGISTRYINDEX, table_idx);
                lua_pushstring (L, "description");
                lua_gettable (L, -2);
@@ -164,9 +165,9 @@ rspamadm_lua_command_help (gboolean full_help,
                else {
                        printf ("  %-18s %-60s\n", cmd->name, "no description available");
                }
-       }
 
-       lua_settop (L, 0);
+               lua_settop (L, 0);
+       }
 
        return NULL; /* Must be handled in rspamadm itself */
 }