----- "Mike Frysinger" <vap...@gentoo.org> wrote: > On Monday, August 29, 2011 01:39:18 Ajay Bhargav wrote: > > ----- "Mike Frysinger" <vap...@gentoo.org> wrote: > > > On Monday, August 29, 2011 01:10:49 Ajay Bhargav wrote: > > > > ----- "Mike Frysinger" <vap...@gentoo.org> wrote: > > > > > On Friday, August 26, 2011 02:36:51 Ajay Bhargav wrote: > > > > > > + darmdfec = malloc(sizeof(struct armdfec_device)); > > > > > > + if (!darmdfec) > > > > > > + goto error; > > > > > > > > > > if this first one fails, we jump to: > > > > > > +error: > > > > > > + free(darmdfec->p_aligned_txbuf); > > > > > > + free(darmdfec->p_rxbuf); > > > > > > + free(darmdfec->p_rxdesc); > > > > > > + free(darmdfec->htpr); > > > > > > > > > > looks like 4 NULL pointer derefs. so you'll need one > specific > > > > > > path > > > > > > > > for the first malloc(), but the rest are fine. > > > > > > > > so you mean like this... > > > > > > > > if(!darmdfec) > > > > > > > > goto error; > > > > > > > > ... > > > > > > > > error1: > > > > free(darmdfec->p_aligned_txbuf); > > > > free(darmdfec->p_rxbuf); > > > > free(darmdfec->p_rxdesc); > > > > free(darmdfec->htpr); > > > > > > > > error: > > > > free(darmdfec); > > > > return -1; > > > > > > that's one way of fixing it > > > > Any other better way? > > since all your buffers are known fixed (at compile time) sizes, you > could > simply inline them into the structure so you only malloc() one buffer > -mike
Yes.. thats another way of coding :) I will stick to previous one.. Thanks, Ajay Bhargav _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot