[Pcsclite-cvs-commit] r5959 - /trunk/Drivers/ccid/src/ccid_usb.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Tue Sep 20 20:40:03 UTC 2011


Author: rousseau
Date: Tue Sep 20 20:40:02 2011
New Revision: 5959

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5959
Log:
ControlUSB(): log an eror if libusb_control_transfer() fails

Instead of passing a negative length to DEBUG_XXD() and make it crash.

Modified:
    trunk/Drivers/ccid/src/ccid_usb.c

Modified: trunk/Drivers/ccid/src/ccid_usb.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ccid_usb.c?rev=5959&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ccid_usb.c (original)
+++ trunk/Drivers/ccid/src/ccid_usb.c Tue Sep 20 20:40:02 2011
@@ -1000,6 +1000,15 @@
 		requesttype, request, value, usbDevice[reader_index].interface,
 		bytes, size, usbDevice[reader_index].ccid.readTimeout);
 
+	if (ret < 0)
+	{
+		DEBUG_CRITICAL5("control failed (%d/%d): %d %s",
+			usbDevice[reader_index].bus_number,
+			usbDevice[reader_index].device_address, ret, strerror(errno));
+
+		return STATUS_UNSUCCESSFUL;
+	}
+
 	if (requesttype & 0x80)
 		DEBUG_XXD("receive: ", bytes, ret);
 




More information about the Pcsclite-cvs-commit mailing list