From: Jérémie Galarneau Date: Mon, 25 Nov 2019 21:40:10 +0000 (-0500) Subject: Fix: fd-tracker: dereference of lttng_inode after NULL check X-Git-Tag: v2.12.0-rc1~217 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=4c372c5422386026177f9e07ec80566a3d9b8ac5;p=lttng-tools.git Fix: fd-tracker: dereference of lttng_inode after NULL check handle->inode is checked for NULL but used unconditionaly on line 873 (lttng_inode_put). 1407756 Dereference after null check Either the check against null is unnecessary, or there may be a null pointer dereference. In fs_handle_close: Pointer is checked against null but then dereferenced anyway (CWE-476) Reported-by: Coverity Scan Signed-off-by: Jérémie Galarneau --- diff --git a/src/common/fd-tracker/fd-tracker.c b/src/common/fd-tracker/fd-tracker.c index acbee670a..555ff4a78 100644 --- a/src/common/fd-tracker/fd-tracker.c +++ b/src/common/fd-tracker/fd-tracker.c @@ -870,7 +870,9 @@ int fs_handle_close(struct fs_handle *handle) } handle->fd = -1; } - lttng_inode_put(handle->inode); + if (handle->inode) { + lttng_inode_put(handle->inode); + } pthread_mutex_unlock(&handle->lock); pthread_mutex_destroy(&handle->lock); pthread_mutex_unlock(&handle->tracker->lock);