Fix: sessiond: error accounting: unchecked lttng_ht_del return value
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 7 Apr 2021 16:01:33 +0000 (12:01 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 7 Apr 2021 16:05:42 +0000 (12:05 -0400)
There is no reason for this deletion to fail; assert that it succeeds
to detect any internal error.

1451556 Unchecked return value

If the function returns an error value, the error value may be mistaken for a normal value.

In event_notifier_error_accounting_unregister_event_notifier: Value returned from a function is not checked for errors before being used (CWE-252)

Reported-by: Coverity Scan
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I3d0f8995608ac96cd3c94b5e92c4459fff592702

src/bin/lttng-sessiond/event-notifier-error-accounting.c

index 6837fe8f34de7ece5b734b4aeeaf168f19f9ac3f..035f3a03676fe1cfc2d663dd1497e021e731be84 100644 (file)
@@ -1003,6 +1003,7 @@ void event_notifier_error_accounting_unregister_event_notifier(
        lttng_ht_lookup(error_counter_indexes_ht, &tracer_token, &iter);
        node = lttng_ht_iter_get_node_u64(&iter);
        if (node) {
+               int del_ret;
                struct index_ht_entry *index_entry = caa_container_of(
                                node, typeof(*index_entry), node);
                enum lttng_index_allocator_status index_alloc_status;
@@ -1023,7 +1024,8 @@ void event_notifier_error_accounting_unregister_event_notifier(
                        /* Don't exit, perform the rest of the clean-up. */
                }
 
-               lttng_ht_del(error_counter_indexes_ht, &iter);
+               del_ret = lttng_ht_del(error_counter_indexes_ht, &iter);
+               assert(!del_ret);
                call_rcu(&index_entry->rcu_head, free_index_ht_entry);
        }
 
This page took 0.026912 seconds and 4 git commands to generate.