[Spice-devel] [usbredir v1] usbredirhost: fix leak on error

Pavel Grunt pgrunt at redhat.com
Thu Aug 4 11:42:06 UTC 2016


On Thu, 2016-08-04 at 13:38 +0200, Victor Toso wrote:
> Hi,
> 
> On Thu, Aug 04, 2016 at 08:37:02AM +0200, Pavel Grunt wrote:
> > 
> > Hey
> > 
> > On Wed, 2016-08-03 at 18:11 +0200, Victor Toso wrote:
> > > 
> > > Pointed by coverity:
> > >  17. usbredir-0.7.1/usbredirhost/usbredirhost.c:2306: leaked_storage:
> > >  Returning without freeing "data" leaks the storage that it points to.
> > >  #  2304|
> > >  #  usbredirhost_bulk_packet_complete(transfer->transfer);
> > >  #  2305|       }
> > >  #  2306|-> }
> > >  #  2307|
> > >  #  2308|   static void usbredirhost_iso_packet(void *priv, uint64_t
> > >  #  id,
> > > ---
> > >  usbredirhost/usbredirhost.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/usbredirhost/usbredirhost.c b/usbredirhost/usbredirhost.c
> > > index 3e80677..2b3ee74 100644
> > > --- a/usbredirhost/usbredirhost.c
> > > +++ b/usbredirhost/usbredirhost.c
> > > @@ -2280,6 +2280,7 @@ static void usbredirhost_bulk_packet(void *priv,
> > > uint64_t id,
> > >                                           transfer, BULK_TIMEOUT);
> > >  #else
> > >          r = LIBUSB_ERROR_INVALID_PARAM;
> > > +        free(buffer);
> > buffer is not declared in that function
> 
> But the malloc is ours [0] and we free it in situation of error when
> usbredirhost_alloc_transfer() fails.

yeah, but the variable name is 'data' not 'buffer'
> 
> [0] https://cgit.freedesktop.org/spice/usbredir/tree/usbredirhost/usbredirhost
> .c#n2256
> 
> Not sure about the code design but it seems we should free the data if
> we don't pass this buffer to libusb_fill_bulk_transfer()
> 
> Cheers,
>   toso
> 
> > 
> > 
> > Pavel
> > > 
> > >          goto error;
> > >  #endif
> > >      } else {
> > _______________________________________________
> > Spice-devel mailing list
> > Spice-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list