summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancois Berder <[email protected]>2025-11-22 13:26:07 +0100
committerPeng Fan <[email protected]>2025-12-11 18:42:21 +0800
commite672d4a472279477d7f0c3c2c17721f12eb09158 (patch)
tree77f3c2dbf88dda15d9495abe107564c3bc5bb912
parenta23a1e8ca53cd37216f3f5e0ea530e3645ec6f2f (diff)
board: freescale: Fix error handling in ls1088a board setup
- Add missing checks after calloc - Fix memory leak when handling calloc failure Signed-off-by: Francois Berder <[email protected]> Signed-off-by: Peng Fan <[email protected]>
-rw-r--r--board/freescale/ls1088a/ls1088a.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/board/freescale/ls1088a/ls1088a.c b/board/freescale/ls1088a/ls1088a.c
index 9606434e8ff..51ec055be63 100644
--- a/board/freescale/ls1088a/ls1088a.c
+++ b/board/freescale/ls1088a/ls1088a.c
@@ -948,7 +948,14 @@ int ft_board_setup(void *blob, struct bd_info *bd)
total_memory_banks = CONFIG_NR_DRAM_BANKS + mc_memory_bank;
base = calloc(total_memory_banks, sizeof(u64));
+ if (!base)
+ return -ENOMEM;
+
size = calloc(total_memory_banks, sizeof(u64));
+ if (!size) {
+ free(base);
+ return -ENOMEM;
+ }
/* fixup DT for the two GPP DDR banks */
for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {