From 8e91417863ba0c1ce68e5f659f663c89608b482c Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 18 Aug 2015 15:39:13 +0100 Subject: [PATCH] Add guard for fuzzy storage. --- src/fuzzy_storage.c | 2 +- src/libserver/fuzzy_backend.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/fuzzy_storage.c b/src/fuzzy_storage.c index 96785fd75..c0ead6828 100644 --- a/src/fuzzy_storage.c +++ b/src/fuzzy_storage.c @@ -346,7 +346,7 @@ start_fuzzy (struct rspamd_worker *worker) if ((ctx->backend = rspamd_fuzzy_backend_open (ctx->hashfile, &err)) == NULL) { msg_err ("cannot open backend: %e", err); g_error_free (err); - exit (EXIT_FAILURE); + exit (EXIT_SUCCESS); } server_stat->fuzzy_hashes = rspamd_fuzzy_backend_count (ctx->backend); diff --git a/src/libserver/fuzzy_backend.c b/src/libserver/fuzzy_backend.c index a5bf28c7c..aebd9fd48 100644 --- a/src/libserver/fuzzy_backend.c +++ b/src/libserver/fuzzy_backend.c @@ -391,6 +391,11 @@ rspamd_fuzzy_backend_open (const gchar *path, GError **err) fallback_journal[] = "PRAGMA journal_mode=\"off\";"; int rc; + if (path == NULL) { + g_set_error (err, rspamd_fuzzy_backend_quark (), + ENOENT, "Path has not been specified"); + return NULL; + } /* First of all we check path for existence */ dir = g_path_get_dirname (path); if (dir == NULL) { -- 2.39.5