net/nfp: fix memory leak
authorAlejandro Lucero <alejandro.lucero@netronome.com>
Mon, 8 Apr 2019 10:49:39 +0000 (11:49 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 12 Apr 2019 09:02:02 +0000 (11:02 +0200)
Coverity issue: 32806
Fixes: ef28aa96e53b ("net/nfp: support multiprocess")
Cc: stable@dpdk.org
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c

index 33baa98..0b9db97 100644 (file)
@@ -690,12 +690,16 @@ nfp_acquire_secondary_process_lock(struct nfp_pcie_user *desc)
        lockfile = calloc(strlen(home_path) + strlen(lockname) + 1,
                          sizeof(char));
 
+       if (!lockfile)
+               return -ENOMEM;
+
        strcat(lockfile, home_path);
        strcat(lockfile, "/.lock_nfp_secondary");
        desc->secondary_lock = open(lockfile, O_RDWR | O_CREAT | O_NONBLOCK,
                                    0666);
        if (desc->secondary_lock < 0) {
                RTE_LOG(ERR, PMD, "NFP lock for secondary process failed\n");
+               free(lockfile);
                return desc->secondary_lock;
        }
 
@@ -707,6 +711,7 @@ nfp_acquire_secondary_process_lock(struct nfp_pcie_user *desc)
                close(desc->secondary_lock);
        }
 
+       free(lockfile);
        return rc;
 }