bus/fslmc: fix resource leak
authorAgalya Babu RadhaKrishnan <agalyax.babu.radhakrishnan@intel.com>
Tue, 10 Sep 2019 07:30:55 +0000 (08:30 +0100)
committerDavid Marchand <david.marchand@redhat.com>
Thu, 31 Oct 2019 15:52:17 +0000 (16:52 +0100)
1 issue caught by coverity (issue 344967).
Leaked_storage: Variable sep going out of scope leaks the
storage it points to.

When 'sep' is not null and sep_exist is 0, 'sep' is freed
before going out of scope of the function irrespective of
'addr' exists or not.

Coverity issue: 344967
Fixes: e67a61614d0b ("bus/fslmc: support device iteration")
Cc: stable@dpdk.org
Signed-off-by: Agalya Babu RadhaKrishnan <agalyax.babu.radhakrishnan@intel.com>
Acked-by: Sachin Saxena <sachin.saxena@nxp.com>
drivers/bus/fslmc/fslmc_bus.c

index 4116552..9caf5b6 100644 (file)
@@ -292,10 +292,13 @@ jump_out:
                goto err_out;
        }
 
-       if (addr)
+       if (addr) {
                strcpy(addr, sep);
+               if (!sep_exists && sep)
+                       free(sep);
+               return 0;
+       }
 
-       return 0;
 err_out:
        if (!sep_exists && sep)
                free(sep);