commit a133431: [Minor] Segfault for some configuration.

Thierry Fournier thierry.fournier at ozon.io
Tue Mar 10 16:35:11 UTC 2020


Author: Thierry Fournier
Date: 2020-03-07 14:48:31 +0100
URL: https://github.com/rspamd/rspamd/commit/a13343134a29943f90f849018aab9801b14edc82 (refs/pull/3292/head)

[Minor] Segfault for some configuration.
When the configuration file contains only these two lines, rspamd
try to send log which announce that it can bind the soket, but
"bind_conf" is NULL and it is dereferenced, so we have a segfault.

   worker "normal" {
   }

This patch fix the segfault.

---
 src/rspamd.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/rspamd.c b/src/rspamd.c
index 12f0cae2c..dee990c41 100644
--- a/src/rspamd.c
+++ b/src/rspamd.c
@@ -706,8 +706,13 @@ spawn_workers (struct rspamd_main *rspamd_main, struct ev_loop *ev_base)
 					spawn_worker_type (rspamd_main, ev_base, cf);
 				}
 				else {
-					msg_err_main ("cannot create listen socket for %s at %s",
-							g_quark_to_string (cf->type), cf->bind_conf->name);
+					if (cf->bind_conf == NULL) {
+						msg_err_main ("cannot create listen socket for %s",
+								g_quark_to_string (cf->type));
+					} else {
+						msg_err_main ("cannot create listen socket for %s at %s",
+								g_quark_to_string (cf->type), cf->bind_conf->name);
+					}
 
 					rspamd_hard_terminate (rspamd_main);
 					g_assert_not_reached ();


More information about the Commits mailing list