From e534cc5ce4c7fa42c9314b26d7fa0cf288d39833 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Tue, 28 Sep 2010 03:32:44 +0200 Subject: Fix potential issue with USB transactions >=32k multiples of 16k --- daemon/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daemon/device.c b/daemon/device.c index 0a143b2..8c786a7 100644 --- a/daemon/device.c +++ b/daemon/device.c @@ -576,7 +576,7 @@ void device_data_input(struct usb_device *usbdev, unsigned char *buffer, uint32_ } memcpy(dev->pktbuf + dev->pktlen, buffer, length); struct mux_header *mhdr = (struct mux_header *)dev->pktbuf; - if((length < USB_MRU) || (ntohl(mhdr->length) == length)) { + if((length < USB_MRU) || (ntohl(mhdr->length) == (length + dev->pktlen))) { buffer = dev->pktbuf; length += dev->pktlen; dev->pktlen = 0; -- cgit v1.1-32-gdbae