]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
eve/fileinfo: don't alloc filename during logging
authorVictor Julien <victor@inliniac.net>
Wed, 12 Dec 2018 19:15:56 +0000 (20:15 +0100)
committerVictor Julien <victor@inliniac.net>
Wed, 20 Feb 2019 13:45:18 +0000 (14:45 +0100)
src/output-json-file.c

index 3a90f1a04051180e3e26114ad2bcc5232c2dcaa0..18bd2adf7f00ef7391ce1b8fe781dcec43c0819e 100644 (file)
@@ -145,10 +145,10 @@ json_t *JsonBuildFileInfoRecord(const Packet *p, const File *ff,
         return NULL;
     }
 
-    char *s = BytesToString(ff->name, ff->name_len);
-    json_object_set_new(fjs, "filename", SCJsonString(s));
-    if (s != NULL)
-        SCFree(s);
+    size_t filename_size = ff->name_len * 2 + 1;
+    char filename_string[filename_size];
+    BytesToStringBuffer(ff->name, ff->name_len, filename_string, filename_size);
+    json_object_set_new(fjs, "filename", SCJsonString(filename_string));
 #ifdef HAVE_MAGIC
     if (ff->magic)
         json_object_set_new(fjs, "magic", json_string((char *)ff->magic));