[Pcsclite-cvs-commit] r7060 - trunk/PCSC/src

ludovic.rousseau at free.fr ludovic.rousseau at free.fr
Wed Dec 31 12:36:55 UTC 2014


Author: rousseau
Date: 2014-12-31 12:36:55 +0000 (Wed, 31 Dec 2014)
New Revision: 7060

Modified:
   trunk/PCSC/src/hotplug_libudev.c
Log:
Use GNU asprintf(3) to generate the deviceName

The deviceName is no more limited to MAX_DEVICENAME characters.


Modified: trunk/PCSC/src/hotplug_libudev.c
===================================================================
--- trunk/PCSC/src/hotplug_libudev.c	2014-12-31 12:22:13 UTC (rev 7059)
+++ trunk/PCSC/src/hotplug_libudev.c	2014-12-31 12:36:55 UTC (rev 7060)
@@ -379,7 +379,7 @@
 static void HPAddDevice(struct udev_device *dev)
 {
 	int i;
-	char deviceName[MAX_DEVICENAME];
+	char *deviceName = NULL;
 	char *fullname;
 	struct _driverTracker *driver, *classdriver;
 	const char *sSerialNumber = NULL, *sInterfaceName = NULL;
@@ -441,10 +441,8 @@
 	else
 		bInterfaceNumber = 0;
 
-	(void)snprintf(deviceName, sizeof(deviceName),
-		"usb:%04x/%04x:libudev:%d:%s", driver->manuID, driver->productID,
-		bInterfaceNumber, devpath);
-	deviceName[sizeof(deviceName) -1] = '\0';
+	asprintf(&deviceName, "usb:%04x/%04x:libudev:%d:%s",
+		driver->manuID, driver->productID, bInterfaceNumber, devpath);
 
 	/* find a free entry */
 	for (i=0; i<PCSCLITE_MAX_READERS_CONTEXTS; i++)
@@ -528,6 +526,7 @@
 	}
 
 	free(fullname);
+	free(deviceName);
 } /* HPAddDevice */
 
 




More information about the Pcsclite-cvs-commit mailing list