From: Jason Ish Date: Tue, 23 Aug 2016 16:00:54 +0000 (-0600) Subject: output-json-dns: allocate correct size hexstring buffer X-Git-Tag: suricata-3.1.2~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=73a04510702bfa4cec535cfe83a373d62fd7ec3e;p=thirdparty%2Fsuricata.git output-json-dns: allocate correct size hexstring buffer The buffer allocated for the hexstring was not large enough for a ':' separated hex string. --- diff --git a/src/output-json-dns.c b/src/output-json-dns.c index 11173ccc0e..2eacb10d13 100644 --- a/src/output-json-dns.c +++ b/src/output-json-dns.c @@ -181,7 +181,8 @@ static void OutputAnswer(LogDnsLogThread *aft, json_t *djs, DNSTransaction *tx, /* turn fp raw buffer into a nice :-separate hex string */ uint16_t fp_len = (entry->data_len - 2); uint8_t *dptr = ptr+2; - uint32_t output_len = fp_len * 2 + 1; // create c-string, so add space for 0. + /* c-string for ':' separated hex and trailing \0. */ + uint32_t output_len = fp_len * 3 + 1; char hexstring[output_len], *p = hexstring; memset(hexstring, 0x00, output_len);