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>
This commit is contained in:
parent
d38de3380d
commit
5775f00e12
@ -701,8 +701,10 @@ static int tsec_initialize(bd_t *bis, struct tsec_info_struct *tsec_info)
|
|||||||
|
|
||||||
priv = (struct tsec_private *)malloc(sizeof(*priv));
|
priv = (struct tsec_private *)malloc(sizeof(*priv));
|
||||||
|
|
||||||
if (!priv)
|
if (!priv) {
|
||||||
|
free(dev);
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
priv->regs = tsec_info->regs;
|
priv->regs = tsec_info->regs;
|
||||||
priv->phyregs_sgmii = tsec_info->miiregs_sgmii;
|
priv->phyregs_sgmii = tsec_info->miiregs_sgmii;
|
||||||
|
Loading…
Reference in New Issue
Block a user