net: pfe_eth: Fix resoure leak in pfe_spi_flash_init
authorKuldeep Singh <kuldeep.singh@nxp.com>
Fri, 11 Sep 2020 11:06:48 +0000 (16:36 +0530)
committerPriyanka Jain <priyanka.jain@nxp.com>
Thu, 24 Sep 2020 15:27:32 +0000 (20:57 +0530)
Fix Coverity issue: RESOURCE_LEAK.
leaked_storage: Variable addr going out of scope leaks the storage it
points to.

Fixes: e0152dbed683 ("net: pfe_eth: Use spi_flash_read API to access
flash memory")
Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
drivers/net/pfe_eth/pfe_firmware.c

index 55e661c0e1d55c04d9ca05a7ca6b865a784cfac9..4ad09dda1cf0cfd4e0fd4819070152ce67eade41 100644 (file)
@@ -170,6 +170,9 @@ int pfe_spi_flash_init(void)
        int ret = 0;
        void *addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH);
 
+       if (!addr)
+               return -ENOMEM;
+
 #ifdef CONFIG_DM_SPI_FLASH
        struct udevice *new;
 
@@ -186,6 +189,7 @@ int pfe_spi_flash_init(void)
 #endif
        if (!pfe_flash) {
                printf("SF: probe for pfe failed\n");
+               free(addr);
                return -ENODEV;
        }