Fix: trace-chunk: dereference after null check of old_path
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 31 Jan 2020 23:20:18 +0000 (18:20 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 31 Jan 2020 23:20:18 +0000 (18:20 -0500)
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 <jeremie.galarneau@efficios.com>
Change-Id: I33088fecc62141bd6092a7ab8c0a8c29a36347e8

src/common/trace-chunk.c

index 6039f63761b532ac36c2464559b94a5d008cc2a8..f909a682f6b376769b9cdbd27662e7d36f5e64b7 100644 (file)
@@ -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);
 
This page took 0.029293 seconds and 4 git commands to generate.