From a13343134a29943f90f849018aab9801b14edc82 Mon Sep 17 00:00:00 2001 From: Thierry Fournier Date: Sat, 7 Mar 2020 14:48:31 +0100 Subject: [PATCH] [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 12f0cae2c7..dee990c419 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 (); -- 2.47.3