$NetBSD$

--- src/libopensc/card-acos5.c.orig	2010-02-16 09:03:28.000000000 +0000
+++ src/libopensc/card-acos5.c
@@ -140,8 +140,8 @@ static int acos5_get_serialnr(sc_card_t 
 	/*
 	 * 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.
