From bc7c0be84c31633f1b4903b8ae623f5c1cb9395e Mon Sep 17 00:00:00 2001
From: Lukas Fleischer <calcurse@cryptocrack.de>
Date: Tue, 29 May 2012 20:55:22 +0200
Subject: src/config.c: Bail out on incomplete directive

Fixes a segmentation fault that arose if a line in the configuration
file didn't contain a value/key separator ("="). Instead of operating on
a NULL pointer, throw an error message containing the erroneous
directive and bail out.

Reported-by: Baptiste Jonglez <baptiste--git@jonglez.org>
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
---
 src/config.c | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'src')

diff --git a/src/config.c b/src/config.c
index edf1f3b..bb6ddf7 100644
--- a/src/config.c
+++ b/src/config.c
@@ -445,6 +445,9 @@ config_file_walk(config_fn_walk_cb_t fn_cb,
       *value = '\0';
       value++;
     }
+    else {
+      EXIT(_("invalid configuration directive: \"%s\""), e_conf);
+    }
 
     if (strcmp(key, "auto_save") == 0 ||
         strcmp(key, "auto_gc") == 0 ||
-- 
cgit v1.2.3-70-g09d2