From: Thomas Jarosch Date: Mon, 28 Jul 2003 15:51:29 +0000 (+0000) Subject: libftdi: (tomj) limit ftdi_read buffer size to n*64 bytes, n != 0 X-Git-Tag: v0.2~3 X-Git-Url: http://developer.intra2net.com/git/?a=commitdiff_plain;h=979a145c5ae69c8f6b28da72ad6d9f6a833f61a4;p=libftdi libftdi: (tomj) limit ftdi_read buffer size to n*64 bytes, n != 0 --- diff --git a/ftdi/ftdi.c b/ftdi/ftdi.c index 01d8f1a..2ccc2b7 100644 --- a/ftdi/ftdi.c +++ b/ftdi/ftdi.c @@ -216,6 +216,11 @@ int ftdi_read_data(struct ftdi_context *ftdi, unsigned char *buf, int size) { int ret = 1; int offset = 0; + if (size != 0 && size % 64 != 0) { + ftdi->error_str = "Sorry, read buffer size must currently be a multiple (1x, 2x, 3x...) of 64"; + return -2; + } + while (offset < size && ret > 0) { ret = usb_bulk_read (ftdi->usb_dev, 0x81, readbuf, 64, ftdi->usb_timeout); // Skip FTDI status bytes