]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Try to silence intentional leak for sigaltstack
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 7 Jan 2021 16:02:59 +0000 (16:02 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 7 Jan 2021 16:02:59 +0000 (16:02 +0000)
src/libserver/worker_util.c
src/libserver/worker_util.h

index 71bbe48601296db8c1227786e40bacb65cb993ee..7d7a50d35f6176aa0fd9a7c71535cc7c9e52327f 100644 (file)
@@ -1607,13 +1607,14 @@ rspamd_crash_sig_handler (int sig, siginfo_t *info, void *ctx)
 }
 #endif
 
-void
+RSPAMD_NO_SANITIZE void
 rspamd_set_crash_handler (struct rspamd_main *rspamd_main)
 {
 #ifdef HAVE_SA_SIGINFO
        struct sigaction sa;
 
 #ifdef HAVE_SIGALTSTACK
+       void *stack_mem;
        stack_t ss;
        memset (&ss, 0, sizeof ss);
 
@@ -1624,7 +1625,8 @@ rspamd_set_crash_handler (struct rspamd_main *rspamd_main)
         * I don't know any good ways to stop this behaviour.
         */
        ss.ss_size = MAX (SIGSTKSZ, 8192 * 4);
-       ss.ss_sp = g_malloc0 (ss.ss_size);
+       stack_mem = g_malloc0 (ss.ss_size);
+       ss.ss_sp = stack_mem;
        sigaltstack (&ss, NULL);
 #endif
        saved_main = rspamd_main;
index c20108488c29e9a9806024f99820c398d89d7458..77344ac470eac1b1e878901421affdab05bf7bd4 100644 (file)
@@ -208,7 +208,7 @@ struct rspamd_worker *rspamd_fork_worker (struct rspamd_main *,
 /**
  * Sets crash signals handlers if compiled with libunwind
  */
-void rspamd_set_crash_handler (struct rspamd_main *);
+RSPAMD_NO_SANITIZE void rspamd_set_crash_handler (struct rspamd_main *);
 
 /**
  * Initialise the main monitoring worker