diff options
Diffstat (limited to 'lib/libusb/libusb20_compat01.c')
-rw-r--r-- | lib/libusb/libusb20_compat01.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/libusb/libusb20_compat01.c b/lib/libusb/libusb20_compat01.c index aaafb02..4124ef6 100644 --- a/lib/libusb/libusb20_compat01.c +++ b/lib/libusb/libusb20_compat01.c @@ -457,6 +457,11 @@ usb_parse_configuration(struct usb_config_descriptor *config, /* allocate memory for our configuration */ ptr = malloc(a + b + c + d); + if (ptr == NULL) { + /* free config structure */ + free(ps.a.currcfg); + return (-1); + } /* "currifcw" must be first, hence this pointer is freed */ ps.b.currifcw = (void *)(ptr); |