From: Karol Lewandowski Date: Fri, 17 Jul 2020 23:04:10 +0000 (+0200) Subject: Fix memory leak in usb_interface_descriptor error path X-Git-Tag: accepted/tizen/6.0/unified/20201030.110949^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Faccepted%2Ftizen_6.0_unified;p=platform%2Fupstream%2Flibusb.git Fix memory leak in usb_interface_descriptor error path usbi_reallocf() will leak memory if passed pointer has members to free. Change-Id: I183dce6067905c92a1cf373e67902244c52e9fed Signed-off-by: lokilee73 --- diff --git a/libusb/descriptor.c b/libusb/descriptor.c index 4c9435f..da34b38 100644 --- a/libusb/descriptor.c +++ b/libusb/descriptor.c @@ -228,7 +228,8 @@ static int parse_interface(libusb_context *ctx, while (size >= INTERFACE_DESC_LENGTH) { struct libusb_interface_descriptor *altsetting = (struct libusb_interface_descriptor *) usb_interface->altsetting; - altsetting = usbi_reallocf(altsetting, + /* can't use usbi_realloc() as we need to free libusb_interface_descriptor members - see clear_interface() */ + altsetting = realloc(altsetting, sizeof(struct libusb_interface_descriptor) * (usb_interface->num_altsetting + 1)); if (!altsetting) {