net: tsec: Fix memory leak in error path

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>
master
Mario Six 7 years ago committed by Joe Hershberger
parent d38de3380d
commit 5775f00e12
  1. 4
      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;

Loading…
Cancel
Save