scd: ccid-driver supporting larger APDU.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 14 Mar 2013 23:34:32 +0000 (08:34 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 14 Mar 2013 23:38:28 +0000 (08:38 +0900)
* scd/ccid-driver.c (ccid_transceive_apdu_level): Support larger
APDU.

--
This is still ad hoc change, but it's OK.  Supporting full extended
APDU exchange level is not worth yet.

scd/ccid-driver.c

index ccf579c..dd9fabe 100644 (file)
@@ -2840,7 +2840,7 @@ ccid_transceive_apdu_level (ccid_driver_t handle,
   /* The maximum length for a short APDU T=1 block is 261.  For an
      extended APDU T=1 block the maximum length 65544; however
      extended APDU exchange level is not fully supported yet.  */
-  if (apdulen > 289)
+  if (apdulen > sizeof (send_buffer) - 10)
     return CCID_DRIVER_ERR_INV_VALUE; /* Invalid length. */
   
   msg[0] = PC_to_RDR_XfrBlock;