From: Bart Van Assche Date: Sun, 12 Jan 2020 00:10:42 +0000 (-0800) Subject: blktrace: Check value of 'merge_buf' pointer before using it X-Git-Tag: fio-3.18~12^2~5 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=c81ab051dd359a598414c04fcb010e959d2d5445;p=fio.git 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 --- 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);