From: Francis Deslauriers Date: Tue, 1 Oct 2019 14:35:28 +0000 (-0400) Subject: Fix: sessiond: Dereference before null check X-Git-Tag: v2.12.0-rc1~328 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=dc1d59677f2e7686dc33b095663b95eb1ccf89e6 Fix: sessiond: Dereference before null check Coverity report: CID 1404933 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking session->chunk_being_archived suggests that it may be null, but it has already been dereferenced on all paths leading to the check. Reported-by: Coverity (1404933) Dereference before null check Signed-off-by: Francis Deslauriers Signed-off-by: Jérémie Galarneau --- diff --git a/src/bin/lttng-sessiond/rotation-thread.c b/src/bin/lttng-sessiond/rotation-thread.c index 05627f934..ee25baaf1 100644 --- a/src/bin/lttng-sessiond/rotation-thread.c +++ b/src/bin/lttng-sessiond/rotation-thread.c @@ -467,6 +467,11 @@ int check_session_rotation_pending(struct ltt_session *session, const char *archived_chunk_name; uint64_t chunk_being_archived_id; + if (!session->chunk_being_archived) { + ret = 0; + goto end; + } + chunk_status = lttng_trace_chunk_get_id(session->chunk_being_archived, &chunk_being_archived_id); assert(chunk_status == LTTNG_TRACE_CHUNK_STATUS_OK); @@ -474,11 +479,6 @@ int check_session_rotation_pending(struct ltt_session *session, DBG("[rotation-thread] Checking for pending rotation on session \"%s\", trace archive %" PRIu64, session->name, chunk_being_archived_id); - if (!session->chunk_being_archived) { - ret = 0; - goto end; - } - /* * The rotation-pending check timer of a session is launched in * one-shot mode. If the rotation is incomplete, the rotation