logstash: initialize conf struct to 0
authorVincent Bernat <vincent@bernat.im>
Mon, 3 Aug 2015 08:06:30 +0000 (10:06 +0200)
committerMarc Fournier <marc.fournier@camptocamp.com>
Mon, 3 Aug 2015 21:23:24 +0000 (23:23 +0200)
With YAJL 1 (at least on Ubuntu Precise), if `conf.indentString` is not
initialized correctly, we would get a segfault even when `conf.beautify`
is set to 0. We avoid this case by initializing the whole structure to
0. `conf.beautify = 0` is kept for explicitness.

src/log_logstash.c

index 61e7f48..2883e6c 100644 (file)
@@ -208,7 +208,7 @@ static void log_logstash_log (int severity, const char *msg,
 {
        yajl_gen g;
 #if !defined(HAVE_YAJL_V2)
-       yajl_gen_config conf;
+       yajl_gen_config conf = {};
 
        conf.beautify = 0;
 #endif
@@ -252,7 +252,7 @@ static int log_logstash_notification (const notification_t *n,
 #if HAVE_YAJL_V2
        g = yajl_gen_alloc(NULL);
 #else
-       yajl_gen_config conf;
+       yajl_gen_config conf = {};
 
        conf.beautify = 0;
        g = yajl_gen_alloc(&conf, NULL);