Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates-src > by-pkgid > 9142f2905d00f06b0569371498c5a33d > files > 4

opensc-0.11.13-6.fc13.src.rpm

Index: /trunk/src/libopensc/muscle.c
===================================================================
--- /trunk/src/libopensc/muscle.c	(revision 4350)
+++ /trunk/src/libopensc/muscle.c	(revision 4912)
@@ -31,11 +31,4 @@
 #define MSC_DSA_PUBLIC		0x04
 #define MSC_DSA_PRIVATE 	0x05
-
-#ifndef MAX
-#define MAX(x, y) (((x) > (y)) ? (x) : (y))
-#endif
-#ifndef MIN
-#define MIN(x, y) (((x) < (y)) ? (x) : (y))
-#endif
 
 static msc_id inputId = { { 0xFF, 0xFF, 0xFF, 0xFF } };
Index: /trunk/src/libopensc/internal.h
===================================================================
--- /trunk/src/libopensc/internal.h	(revision 4902)
+++ /trunk/src/libopensc/internal.h	(revision 4912)
@@ -48,4 +48,11 @@
 #define msleep(t)	Sleep(t)
 #define sleep(t)	Sleep((t) * 1000)
+#endif
+
+#ifndef MAX
+#define MAX(x, y) (((x) > (y)) ? (x) : (y))
+#endif
+#ifndef MIN
+#define MIN(x, y) (((x) < (y)) ? (x) : (y))
 #endif
 
Index: /trunk/src/libopensc/card-atrust-acos.c
===================================================================
--- /trunk/src/libopensc/card-atrust-acos.c	(revision 4706)
+++ /trunk/src/libopensc/card-atrust-acos.c	(revision 4913)
@@ -843,6 +843,6 @@
 		return SC_ERROR_INTERNAL;
 	/* cache serial number */
-	memcpy(card->serialnr.value, apdu.resp, apdu.resplen);
-	card->serialnr.len = apdu.resplen;
+	memcpy(card->serialnr.value, apdu.resp, MIN(apdu.resplen, SC_MAX_SERIALNR));
+	card->serialnr.len = MIN(apdu.resplen, SC_MAX_SERIALNR);
 	/* copy and return serial number */
 	memcpy(serial, &card->serialnr, sizeof(*serial));
Index: /trunk/src/libopensc/card-starcos.c
===================================================================
--- /trunk/src/libopensc/card-starcos.c	(revision 4706)
+++ /trunk/src/libopensc/card-starcos.c	(revision 4913)
@@ -1280,6 +1280,6 @@
 		return SC_ERROR_INTERNAL;
 	/* cache serial number */
-	memcpy(card->serialnr.value, apdu.resp, apdu.resplen);
-	card->serialnr.len = apdu.resplen;
+	memcpy(card->serialnr.value, apdu.resp, MIN(apdu.resplen, SC_MAX_SERIALNR));
+	card->serialnr.len = MIN(apdu.resplen, SC_MAX_SERIALNR);
 	/* copy and return serial number */
 	memcpy(serial, &card->serialnr, sizeof(*serial));
Index: /trunk/src/libopensc/card-acos5.c
===================================================================
--- /trunk/src/libopensc/card-acos5.c	(revision 4118)
+++ /trunk/src/libopensc/card-acos5.c	(revision 4913)
@@ -139,6 +139,6 @@
 	 * Cache serial number.
 	 */
-	memcpy(card->serialnr.value, apdu.resp, apdu.resplen);
-	card->serialnr.len = apdu.resplen;
+	memcpy(card->serialnr.value, apdu.resp, MIN(apdu.resplen, SC_MAX_SERIALNR));
+	card->serialnr.len = MIN(apdu.resplen, SC_MAX_SERIALNR);
 
 	/*