From: John Ogness Date: Fri, 11 Dec 2009 08:47:28 +0000 (+0100) Subject: fec_mxc: incomplete error handling X-Git-Tag: v2010.03-rc1~197^2~2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=c179a2896e6a5138e30786f1d7961d880dbd6d31;p=karo-tx-uboot.git fec_mxc: incomplete error handling fec_init() will only allocate fec->base_ptr if it is non-NULL. But the cleanup routine on error will free the pointer without setting it to NULL. This means that a later call to fec_init() would result in using an invalid pointer. Signed-off-by: John Ogness Signed-off-by: Ben Warren --- diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index ad073077cf..19116f253a 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -450,6 +450,7 @@ static int fec_init(struct eth_device *dev, bd_t* bd) */ if (fec_rbd_init(fec, FEC_RBD_NUM, FEC_MAX_PKT_SIZE) < 0) { free(fec->base_ptr); + fec->base_ptr = NULL; return -ENOMEM; } fec_tbd_init(fec);