diff mbox series

[U-Boot,023/080] net: tsec: Fix memory leak in error path

Message ID 20170929125238.26226-23-mario.six@gdsys.cc
State Changes Requested
Delegated to: Wolfgang Denk
Headers show
Series [U-Boot,001/080] mpc8308rdb: Fix style violation | expand

Commit Message

Mario Six Sept. 29, 2017, 12:51 p.m. UTC
tsec_initialize allocates a private driver structure using malloc.
Should the memory allocation of this private structure fail, the
function execution is aborted with a return 0, but the previously
allocated device structure is never freed, hence leaked.

Free the device structure in the error case.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
---
 drivers/net/tsec.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
index aa261845f3..44140fb037 100644
--- a/drivers/net/tsec.c
+++ b/drivers/net/tsec.c
@@ -702,7 +702,9 @@  static int tsec_initialize(bd_t *bis, struct tsec_info_struct *tsec_info)
 	priv = (struct tsec_private *)malloc(sizeof(*priv));
 
 	if (!priv) {
+		free(dev);
 		return 0;
+	}
 
 	priv->regs = tsec_info->regs;
 	priv->phyregs_sgmii = tsec_info->miiregs_sgmii;