commit 6d651a8: [Minor] --var doesn't work

Thierry Fournier thierry.fournier at ozon.io
Sat Mar 7 17:21:15 UTC 2020


Author: Thierry Fournier
Date: 2020-03-07 10:57:10 +0100
URL: https://github.com/rspamd/rspamd/commit/6d651a8d0944fd5ccba04fca35fe3555d1c8cd4f (refs/pull/3291/head)

[Minor] --var doesn't work
We can add varaibels on the command line after argument or using --var parameter.
When --var is used, an assertion is triggered:

   ./rspamd.install/bin/rspamd --var LOGDIR=/tmp/
   (rspamd:7171): GLib-CRITICAL **: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

The hash table is not initialized, because the table is initialized after
the argument parser.

This patch initialize the hash table on demand.

Note: the patch is tested on 1.9 version and not on master, because I can't compile the master branch.

Note: I suggest to backport the patch on 1.9 version

---
 src/rspamd.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/rspamd.c b/src/rspamd.c
index 6fbb64fdf..12f0cae2c 100644
--- a/src/rspamd.c
+++ b/src/rspamd.c
@@ -148,6 +148,11 @@ rspamd_parse_var (const gchar *option_name,
 		v = g_strdup (t + 1);
 		*t = '\0';
 
+		if (ucl_vars == NULL) {
+			ucl_vars = g_hash_table_new_full (rspamd_strcase_hash,
+					rspamd_strcase_equal, g_free, g_free);
+		}
+
 		g_hash_table_insert (ucl_vars, k, v);
 	}
 	else {


More information about the Commits mailing list