]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
output/json: Avoid use of uninitialized value
authorJeff Lucovsky <jeff@lucovsky.org>
Thu, 13 Jun 2019 23:52:07 +0000 (19:52 -0400)
committerVictor Julien <victor@inliniac.net>
Thu, 20 Jun 2019 18:14:58 +0000 (20:14 +0200)
In JsonPacket, a Base64Decode error could cause an uninitialized
variable to be used because its return value is ignored.

src/output-json.c

index b44ee79c727d7c37f399e0a10257dc6ff7b4da9b..a9355cd2cee2e17396722417ae1dfadd8418ba3f 100644 (file)
@@ -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();