Browse Source

net: pfe_eth: Fix resoure leak in pfe_spi_flash_init

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>
Kuldeep Singh 3 years ago
parent
commit
63d5344615
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/net/pfe_eth/pfe_firmware.c

+ 4 - 0
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;
 	}