From: Eric Leblond Date: Fri, 18 Mar 2016 08:53:21 +0000 (+0100) Subject: output-json-email: fix memleak X-Git-Tag: suricata-3.0.1RC1~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a05cdbdf2810ded5116622ffb8dc49fa53780a42;p=thirdparty%2Fsuricata.git output-json-email: fix memleak This possibly fix: ndirect leak of 64 byte(s) in 1 object(s) allocated from: #0 0x4c264b in malloc (/home/victor/qa/buildbot/donkey/z600fuzz/Private/src/.libs/lt-suricata+0x4c264b) #1 0x7fb09c1e8aaa in json_array (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x6aaa) #2 0xd67553 in JsonEmailLogJsonData /home/victor/qa/buildbot/donkey/z600fuzz/Private/src/output-json-email-common.c:290:27 #3 0xd6a272 in JsonEmailLogJson /home/victor/qa/buildbot/donkey/z600fuzz/Private/src/output-json-email-common.c:370:19 #4 0xd956b9 in JsonSmtpLogger /home/victor/qa/buildbot/donkey/z600fuzz/Private/src/output-json-smtp.c:103:9 #5 0xdcedac in OutputTxLog /home/victor/qa/buildbot/donkey/z600fuzz/Private/src/output-tx.c:165:17 #6 0xff6669 in TmThreadsSlotVarRun /home/victor/qa/buildbot/donkey/z600fuzz/Private/src/tm-threads.c:132:17 #7 0xffecc1 in TmThreadsSlotVar /home/victor/qa/buildbot/donkey/z600fuzz/Private/src/tm-threads.c:474:17 #8 0x7fb09bfcc181 in start_thread /build/eglibc-3GlaMS/eglibc-2.19/nptl/pthread_create.c:312 --- diff --git a/src/output-json-email-common.c b/src/output-json-email-common.c index 7ab9e727b0..2c10a7c1ac 100644 --- a/src/output-json-email-common.c +++ b/src/output-json-email-common.c @@ -119,6 +119,9 @@ static json_t* JsonEmailJsonArrayFromCommaList(const uint8_t *val, size_t len) sp = SkipWhiteSpaceTill(p, savep); json_array_append_new(ajs, json_string(sp)); } + } else { + json_decref(ajs); + return NULL; } SCFree(to_line); }