From 5e6d7dca8fa0b2f622f92d35574228a745f549b7 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 9 Aug 2024 08:54:45 -0500 Subject: [PATCH] libblock/src/bdpart-register.c: Do not pass bad value to close() Coverity CID 1467408 close() was called and fd can potentially be negative. Closes #5113. --- cpukit/libblock/src/bdpart-register.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cpukit/libblock/src/bdpart-register.c b/cpukit/libblock/src/bdpart-register.c index b4cca305dd..68f602ac12 100644 --- a/cpukit/libblock/src/bdpart-register.c +++ b/cpukit/libblock/src/bdpart-register.c @@ -208,8 +208,14 @@ rtems_status_code rtems_bdpart_unregister( cleanup: + /* + * When we get here, logical_disk_name is guaranteed to be non-NULL + * but fd may be -1. Coverity flagged passing a bad value to close(). + */ free( logical_disk_name); - close( fd); + if (fd > 0) { + close( fd); + } return esc; }