diff mbox series

[U-Boot,RESEND,v2,2/7] net: tsec: Fix memory leak in error path

Message ID 20180115100827.20619-2-mario.six@gdsys.cc
State Accepted
Commit 5775f00
Delegated to: Joe Hershberger
Headers show
Series [U-Boot,RESEND,v2,1/7] net: tsec: Fix style violations | expand

Commit Message

Mario Six Jan. 15, 2018, 10:08 a.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>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
---

v1 -> v2:
None

---
 drivers/net/tsec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--
2.11.0

Comments

Joe Hershberger March 5, 2018, 6:33 p.m. UTC | #1
Hi Mario,

https://patchwork.ozlabs.org/patch/860801/ was applied to http://git.denx.de/?p=u-boot/u-boot-net.git

Thanks!
-Joe
diff mbox series

Patch

diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
index 071595218e..44140fb037 100644
--- a/drivers/net/tsec.c
+++ b/drivers/net/tsec.c
@@ -701,8 +701,10 @@  static int tsec_initialize(bd_t *bis, struct tsec_info_struct *tsec_info)

 	priv = (struct tsec_private *)malloc(sizeof(*priv));

-	if (!priv)
+	if (!priv) {
+		free(dev);
 		return 0;
+	}

 	priv->regs = tsec_info->regs;
 	priv->phyregs_sgmii = tsec_info->miiregs_sgmii;