From e5b38fd1298cec50f68b01568fcecf5e626cd286 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 30 Aug 2021 20:20:49 +0100 Subject: [PATCH] trace: free memory allocated by blobmsg_format_json_indent() Only one out of two occurances have been addressed previously. Close the other one now. Coverity CID: 1446205 Fixes: 51f1cd23 ("trace: free string returned by blobmsg_format_json_indent()") Signed-off-by: Daniel Golle --- trace/trace.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/trace/trace.c b/trace/trace.c index 8d90b5e..87a98a6 100644 --- a/trace/trace.c +++ b/trace/trace.c @@ -162,7 +162,12 @@ static void print_syscalls(int policy, const char *json) if (json) { FILE *fp = fopen(json, "w"); if (fp) { - fprintf(fp, "%s\n", blobmsg_format_json_indent(b.head, true, 0)); + tmp = blobmsg_format_json_indent(b.head, true, 0); + if (!tmp) + return; + + free(tmp); + fprintf(fp, "%s\n", tmp); fclose(fp); ULOG_INFO("saving syscall trace to %s\n", json); } else { @@ -176,7 +181,6 @@ static void print_syscalls(int policy, const char *json) printf("%s\n", tmp); free(tmp); } - } static void report_seccomp_vialation(pid_t pid, unsigned syscall) -- 2.30.2