From 701406be55cacd418346a3ff1aca17b549c186a7 Mon Sep 17 00:00:00 2001 From: Francis Deslauriers Date: Mon, 16 Sep 2019 12:03:46 -0400 Subject: [PATCH] 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 --- src/lib/object-pool.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) 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: -- 2.34.1