[Pcsclite-cvs-commit] Drivers/ccid/src/protocol_t1 protocol_t1.c,1.7,1.8
rousseau@quantz.debian.org
rousseau@quantz.debian.org
Thu, 12 Feb 2004 17:11:10 +0100
Update of /cvsroot/pcsclite/Drivers/ccid/src/protocol_t1
In directory quantz:/tmp/cvs-serv26521/src/protocol_t1
Modified Files:
protocol_t1.c
Log Message:
return with a error if the received bloc in less than 4 bytes (T=0
error response for example)
Index: protocol_t1.c
===================================================================
RCS file: /cvsroot/pcsclite/Drivers/ccid/src/protocol_t1/protocol_t1.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- protocol_t1.c 11 Feb 2004 14:36:05 -0000 1.7
+++ protocol_t1.c 12 Feb 2004 16:11:08 -0000 1.8
@@ -79,8 +79,10 @@
return ret;
if (PROTOCOL_T1_OK == Protocol_T1_ReceiveBlock(t1, &sblock))
+ {
t1 -> ifsd = T1_Block_GetInf(sblock)[0];
- T1_Block_Delete(sblock);
+ T1_Block_Delete(sblock);
+ }
return PROTOCOL_T1_OK;
} /* Protocol_T1_Negociate_IFSD */
@@ -329,7 +331,7 @@
int len = sizeof(cmd);
/* Receive T=1 block */
- if (CCID_Receive(t1->lun, &len, cmd) != IFD_SUCCESS)
+ if ((CCID_Receive(t1->lun, &len, cmd) != IFD_SUCCESS) || (len < 4))
{
ret = PROTOCOL_T1_ICC_ERROR;
(*block) = NULL;