From: Francis Deslauriers Date: Mon, 16 Sep 2019 16:03:46 +0000 (-0400) Subject: Fix: object-pool.c: dereferenced before null check X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=701406be55cacd418346a3ff1aca17b549c186a7 Fix: object-pool.c: dereferenced before null check Coverity reported the following: CID 1401187 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking pool suggests that it may be null, but it has already been dereferenced on all paths leading to the check. Add a `BT_ASSERT()` to ensure that `pool` is not null. Reported-by: Coverity - 1401187 Dereference before null check (REVERSE_INULL) Signed-off-by: Francis Deslauriers Change-Id: Ie18fecdad17c1a42db914d2eb987f783a4523871 Reviewed-on: https://review.lttng.org/c/babeltrace/+/2054 Tested-by: jenkins Reviewed-by: Simon Marchi --- diff --git a/src/lib/object-pool.c b/src/lib/object-pool.c index 8d95a890..b3180743 100644 --- a/src/lib/object-pool.c +++ b/src/lib/object-pool.c @@ -35,6 +35,7 @@ int bt_object_pool_initialize(struct bt_object_pool *pool, { int ret = 0; + BT_ASSERT(pool); BT_ASSERT(new_object_func); BT_ASSERT(destroy_object_func); BT_LOGD("Initializing object pool: addr=%p, data-addr=%p", @@ -53,10 +54,7 @@ int bt_object_pool_initialize(struct bt_object_pool *pool, goto end; error: - if (pool) { - bt_object_pool_finalize(pool); - } - + bt_object_pool_finalize(pool); ret = -1; end: