This is an automated email from the ASF dual-hosted git repository.

pengzheng pushed a commit to branch hotfix/coverity_fix
in repository https://gitbox.apache.org/repos/asf/celix.git

commit 59c866ed84abfac41e9adf1e84a88b5365759bf5
Author: PengZheng <[email protected]>
AuthorDate: Mon Apr 10 14:31:22 2023 +0800

    Eliminate false positive coverity warning (CID=313587).
---
 libs/framework/src/bundle.c | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/libs/framework/src/bundle.c b/libs/framework/src/bundle.c
index 9ba6b4b2..74b0255e 100644
--- a/libs/framework/src/bundle.c
+++ b/libs/framework/src/bundle.c
@@ -207,19 +207,17 @@ celix_status_t bundle_createModule(bundle_pt bundle, 
module_pt* moduleOut) {
 
 
     const char * symName = NULL;
-    status = module_getSymbolicName(module, &symName);
-    if (status == CELIX_SUCCESS) {
-        /*
-         * NOTE only allowing a single bundle with a symbolic name.
-         * OSGi spec allows same symbolic name and different versions, but 
this is risky with
-         * the behaviour of dlopen when opening shared libraries with the same 
SONAME.
-         */
-        bool alreadyInstalled = 
celix_framework_isBundleAlreadyInstalled(bundle->framework, symName);
-        if (alreadyInstalled) {
-            status = CELIX_BUNDLE_EXCEPTION;
-            fw_logCode(bundle->framework->logger, CELIX_LOG_LEVEL_ERROR, 
status, "Cannot create module, bundle with symbolic name '%s' already 
installed.", symName);
-            return status;
-        }
+    (void)module_getSymbolicName(module, &symName); // it always succeeds
+    /*
+     * NOTE only allowing a single bundle with a symbolic name.
+     * OSGi spec allows same symbolic name and different versions, but this is 
risky with
+     * the behaviour of dlopen when opening shared libraries with the same 
SONAME.
+     */
+    bool alreadyInstalled = 
celix_framework_isBundleAlreadyInstalled(bundle->framework, symName);
+    if (alreadyInstalled) {
+        status = CELIX_BUNDLE_EXCEPTION;
+        fw_logCode(bundle->framework->logger, CELIX_LOG_LEVEL_ERROR, status, 
"Cannot create module, bundle with symbolic name '%s' already installed.", 
symName);
+        return status;
     }
 
     *moduleOut = module;

Reply via email to