From: Victor Julien Date: Wed, 12 Dec 2018 19:15:56 +0000 (+0100) Subject: eve/fileinfo: don't alloc filename during logging X-Git-Tag: suricata-5.0.0-beta1~200 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dadac4ae4f385c6ad6cb79f701f3afabe5e50ab7;p=thirdparty%2Fsuricata.git eve/fileinfo: don't alloc filename during logging --- diff --git a/src/output-json-file.c b/src/output-json-file.c index 3a90f1a040..18bd2adf7f 100644 --- a/src/output-json-file.c +++ b/src/output-json-file.c @@ -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));