diff --git a/drivers/usb/misc/iowarrior.c b/drivers/usb/misc/iowarrior.c index 6d28467ce352..6f5cd6251d76 100644 --- a/drivers/usb/misc/iowarrior.c +++ b/drivers/usb/misc/iowarrior.c @@ -201,8 +201,9 @@ static void iowarrior_callback(struct urb *urb) /* +1 for serial number */ offset = intr_idx * (dev->report_size + 1); - memcpy(dev->read_queue + offset, urb->transfer_buffer, - dev->report_size); + if (!memcpy(dev->read_queue + offset, urb->transfer_buffer, + dev->report_size)) + goto exit; *(dev->read_queue + offset + (dev->report_size)) = dev->serial_number++; atomic_set(&dev->intr_idx, aux_idx);