From c81ab051dd359a598414c04fcb010e959d2d5445 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sat, 11 Jan 2020 16:10:42 -0800 Subject: [PATCH] blktrace: Check value of 'merge_buf' pointer before using it This patch fixes the following Coverity complaint: CID 183976 (#1 of 1): Dereference null return value (NULL_RETURNS) 5. dereference: Dereferencing a pointer that might be null 'merge_fp' when calling 'setvbuf'. Signed-off-by: Bart Van Assche --- blktrace.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/blktrace.c b/blktrace.c index f7a9ae3b..2c2b5aeb 100644 --- a/blktrace.c +++ b/blktrace.c @@ -719,9 +719,11 @@ int merge_blktrace_iologs(struct thread_data *td) /* setup output file */ merge_fp = fopen(td->o.merge_blktrace_file, "w"); merge_buf = malloc(128 * 1024); + if (!merge_buf) + goto err_out_file; ret = setvbuf(merge_fp, merge_buf, _IOFBF, 128 * 1024); if (ret) - goto err_out_file; + goto err_merge_buf; /* setup input files */ str = ptr = strdup(td->o.read_iolog_file); @@ -784,10 +786,11 @@ err_file: fifo_free(bcs[i].fifo); close(bcs[i].fd); } +err_merge_buf: + free(merge_buf); err_out_file: fflush(merge_fp); fclose(merge_fp); - free(merge_buf); err_param: free(bcs); -- 2.25.1