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.si...@nxp.com>
---
 drivers/net/pfe_eth/pfe_firmware.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/pfe_eth/pfe_firmware.c 
b/drivers/net/pfe_eth/pfe_firmware.c
index 55e661c..4ad09dd 100644
--- a/drivers/net/pfe_eth/pfe_firmware.c
+++ b/drivers/net/pfe_eth/pfe_firmware.c
@@ -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;
        }
 
-- 
2.7.4

Reply via email to