In the case of a memory allocation error, the ahci_port_start() function tries to free the `pp' pointer. This pointer was not dynamically allocated but does in fact point to an element of the port[] array member of the struct ahci_uc_priv. Remove the erroneous call to free() to fix this.
Fixes: 4782ac80b02f ("Add AHCI support to u-boot") Signed-off-by: Vincent Stehlé <vincent.ste...@arm.com> Cc: Tom Rini <tr...@konsulko.com> Cc: Jason Jin <jason....@freescale.com> --- drivers/ata/ahci.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 8058d5ff1c3..e593e228685 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -463,7 +463,6 @@ static int ahci_port_start(struct ahci_uc_priv *uc_priv, u8 port) mem = memalign(2048, AHCI_PORT_PRIV_DMA_SZ); if (!mem) { - free(pp); printf("%s: No mem for table!\n", __func__); return -ENOMEM; } -- 2.47.2