On 10/15/19 7:14 AM, GwanYeong Kim wrote:
cannot be less than 0 - fread() returns 0 on error.
Signed-off-by: GwanYeong Kim <gy741....@gmail.com>
---
tools/usb/usbip/libsrc/usbip_device_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/usb/usbip/libsrc/usbip_device_driver.c
b/tools/usb/usbip/libsrc/usbip_device_driver.c
index 051d7d3f443b..49760b98aabc 100644
--- a/tools/usb/usbip/libsrc/usbip_device_driver.c
+++ b/tools/usb/usbip/libsrc/usbip_device_driver.c
@@ -79,7 +79,7 @@ int read_usb_vudc_device(struct udev_device *sdev, struct
usbip_usb_device *dev)
if (!fd)
return -1;
ret = fread((char *) &descr, sizeof(descr), 1, fd);
- if (ret < 0) > + if (ret != sizeof(descr))
Are you sure this check is correct? fread() returns the number
of elements read, # elements = 1 in this case.
fread() returns 0 when size or # of elements is 0 and in other
error cases it will return < # of elements. I would think you
want to check ret != 1 here.
thanks,
-- Shuah