Messages in this thread | | | Date | Wed, 12 Mar 2003 12:00:32 -0800 | From | David Brownell <> | Subject | Re: [2.4] Memleak in drivers/usb/hub.c::usb_reset_device |
| |
Oleg Drokin wrote: > Hello! > > There seems to be a memleak in drivers/usb/hub.c::usb_reset_device() > on error exit path. See the patch. > Found with help of smatch + enhanced unfree script.
Hmm ... and 2.5 allocates it on the stack, which is actually illegal (DMA-to-stack is nonportable). This looks like a case where it'd be good to make 2.5 look more like 2.4 (+ this patch).
- Dave
> Bye, > Oleg > ===== drivers/usb/hub.c 1.19 vs edited ===== > --- 1.19/drivers/usb/hub.c Sat Sep 21 00:12:53 2002 > +++ edited/drivers/usb/hub.c Wed Mar 12 22:38:43 2003 > @@ -1057,8 +1057,10 @@ > } > ret = usb_get_descriptor(dev, USB_DT_DEVICE, 0, descriptor, > sizeof(*descriptor)); > - if (ret < 0) > + if (ret < 0) { > + kfree(descriptor); > return ret; > + } > > le16_to_cpus(&descriptor->bcdUSB); > le16_to_cpus(&descriptor->idVendor); >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |