Oliver Neukum wrote:
> you fail to free minors if something goes wrong in probe.
...
>                       usblp->minor++;
>                       if (usblp->minor >= USBLP_MINORS) {
>                               err("no more free usblp devices");
> -                             goto abort;
> +                             goto abort_minor;
>                       }
...
> +abort_minor:
> +     usb_deregister_dev (&usblp_driver, 1, usblp->minor);
>  abort:
>       if (usblp) {
>               usb_free_urb(usblp->writeurb);

Good catch, but unless I'm missing something from just looking at the
patch rather than the whole 2.5 version of the code, it appears that the
"usblp->minor >= USBLP_MINORS" error may be improperly handled here,
because "usb_deregister_dev (&usblp_driver, 1, usblp->minor)" will
be called with an out-of-range "usblp->minor" value.

David


_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to