From: Jérémie Galarneau Date: Fri, 31 Jan 2020 23:20:18 +0000 (-0500) Subject: Fix: trace-chunk: dereference after null check of old_path X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=commitdiff_plain;h=83fa31bf7c7ba6cb7837e35762059a090343f376 Fix: trace-chunk: dereference after null check of old_path 1412200 Dereference after null check Either the check against null is unnecessary, or there may be a null pointer dereference. In lttng_trace_chunk_rename_path_no_lock: Pointer is checked against null but then dereferenced anyway (CWE-476) Signed-off-by: Jérémie Galarneau Change-Id: I33088fecc62141bd6092a7ab8c0a8c29a36347e8 --- diff --git a/src/common/trace-chunk.c b/src/common/trace-chunk.c index 6039f6376..f909a682f 100644 --- a/src/common/trace-chunk.c +++ b/src/common/trace-chunk.c @@ -766,7 +766,7 @@ enum lttng_trace_chunk_status lttng_trace_chunk_rename_path_no_lock( goto skip_move; } - if (old_path[0] != '\0' && path[0] != '\0') { + if (old_path && old_path[0] != '\0' && path[0] != '\0') { /* Rename chunk directory. */ ret = lttng_directory_handle_rename_as_user( chunk->session_output_directory, @@ -804,7 +804,7 @@ enum lttng_trace_chunk_status lttng_trace_chunk_rename_path_no_lock( */ chunk->chunk_directory = rename_directory; rename_directory = NULL; - } else if (old_path[0] == '\0') { + } else if (old_path && old_path[0] == '\0') { size_t i, count = lttng_dynamic_pointer_array_get_count( &chunk->top_level_directories);