From d2fdbc7d6f7e253c3a892e30dfba7af0cf6ac4d9 Mon Sep 17 00:00:00 2001 From: Jeff Lucovsky Date: Thu, 13 Jun 2019 19:52:07 -0400 Subject: [PATCH] output/json: Avoid use of uninitialized value In JsonPacket, a Base64Decode error could cause an uninitialized variable to be used because its return value is ignored. --- src/output-json.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/output-json.c b/src/output-json.c index b44ee79c72..a9355cd2ce 100644 --- a/src/output-json.c +++ b/src/output-json.c @@ -410,8 +410,9 @@ void JsonPacket(const Packet *p, json_t *js, unsigned long max_length) unsigned long max_len = max_length == 0 ? GET_PKT_LEN(p) : max_length; unsigned long len = 2 * max_len; uint8_t encoded_packet[len]; - Base64Encode((unsigned char*) GET_PKT_DATA(p), max_len, encoded_packet, &len); - json_object_set_new(js, "packet", json_string((char *)encoded_packet)); + if (Base64Encode((unsigned char*) GET_PKT_DATA(p), max_len, encoded_packet, &len) == SC_BASE64_OK) { + json_object_set_new(js, "packet", json_string((char *)encoded_packet)); + } /* Create packet info. */ json_t *packetinfo_js = json_object(); -- 2.47.2