[Pcsclite-cvs-commit] r3269 - in /trunk/Drivers/ccid/src: ccid.c ccid_serial.c ccid_usb.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Mon Jan 5 14:35:25 UTC 2009


Author: rousseau
Date: Mon Jan  5 14:35:25 2009
New Revision: 3269

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=3269
Log:
use snprintf() instead of sprintf() to avoid potential buffer overflow

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

Modified: trunk/Drivers/ccid/src/ccid.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ccid.c?rev=3269&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ccid.c (original)
+++ trunk/Drivers/ccid/src/ccid.c Mon Jan  5 14:35:25 2009
@@ -438,11 +438,13 @@
 		default:
 			if ((error >= 1) && (error <= 127))
 			{
-				(void)sprintf(var_text, "error on byte %d", error);
+				(void)snprintf(var_text, sizeof(var_text), "error on byte %d",
+					error);
 				text = var_text;
 			}
 			else
-				(void)sprintf(var_text, "Unknown CCID error: 0x%02X", error);
+				(void)snprintf(var_text, sizeof(var_text),
+					"Unknown CCID error: 0x%02X", error);
 				text = var_text;
 			break;
 	}

Modified: trunk/Drivers/ccid/src/ccid_serial.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ccid_serial.c?rev=3269&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ccid_serial.c (original)
+++ trunk/Drivers/ccid/src/ccid_serial.c Mon Jan  5 14:35:25 2009
@@ -178,7 +178,8 @@
 
 	char debug_header[] = "-> 123456 ";
 
-	(void)sprintf(debug_header, "-> %06X ", reader_index);
+	(void)snprintf(debug_header, sizeof(debug_header), "-> %06X ",
+		reader_index);
 
 	if (length > GEMPCTWIN_MAXBUF-3)
 	{
@@ -411,7 +412,8 @@
 	int already_read;
 	char debug_header[] = "<- 123456 ";
 
-	(void)sprintf(debug_header, "<- %06X ", reader_index);
+	(void)snprintf(debug_header, sizeof(debug_header), "<- %06X ",
+		reader_index);
 
 	already_read = 0;
 	while (already_read < min_length)
@@ -485,7 +487,7 @@
 		return STATUS_UNSUCCESSFUL;
 	}
 
-	(void)sprintf(dev_name, "/dev/pcsc/%d", (int) channel);
+	(void)snprintf(dev_name, sizeof(dev_name), "/dev/pcsc/%d", (int) channel);
 
 	return OpenSerialByName(reader_index, dev_name);
 } /* OpenSerial */

Modified: trunk/Drivers/ccid/src/ccid_usb.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ccid_usb.c?rev=3269&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ccid_usb.c (original)
+++ trunk/Drivers/ccid/src/ccid_usb.c Mon Jan  5 14:35:25 2009
@@ -474,7 +474,8 @@
 	int rv;
 	char debug_header[] = "-> 121234 ";
 
-	(void)sprintf(debug_header, "-> %06X ", (int)reader_index);
+	(void)snprintf(debug_header, sizeof(debug_header), "-> %06X ",
+		(int)reader_index);
 
 	DEBUG_XXD(debug_header, buffer, length);
 
@@ -512,7 +513,8 @@
 	int duplicate_frame = 0;
 
 read_again:
-	(void)sprintf(debug_header, "<- %06X ", (int)reader_index);
+	(void)snprintf(debug_header, sizeof(debug_header), "<- %06X ",
+		(int)reader_index);
 
 	rv = usb_bulk_read(usbDevice[reader_index].handle,
 		usbDevice[reader_index].bulk_in, (char *)buffer, *length,




More information about the Pcsclite-cvs-commit mailing list