]> www.vanbest.org Git - sasc-ng.git/commitdiff
cardclient-camd: check for partial valid CW
authorleslie <unknown>
Tue, 9 Dec 2008 17:38:15 +0000 (18:38 +0100)
committerleslie <unknown>
Tue, 9 Dec 2008 17:38:15 +0000 (18:38 +0100)
systems/cardclient/camd.c

index 5334a6d24f6be86b3f759b5522b7c9106d6af3dc..a85f6506c3f6dbe47211a6d9f943533828a3f151 100644 (file)
@@ -698,7 +698,8 @@ bool cCardClientCamd35::ProcessECM(const cEcmInfo *ecm, const unsigned char *dat
         while((n=RecvBlock(cb,sizeof(buff),0))>0) {
           if(cb->udp_header.cmd==0x01) {
             if(cb->udp_header.len>=16 && cb->service.pinID==pid && !res) {
-              memcpy(cw,cb->data,16);
+              if(!CheckNull(&cb->data[0],8)) memcpy(&cw[0],&cb->data[0],8);
+              if(!CheckNull(&cb->data[8],8)) memcpy(&cw[8],&cb->data[8],8);
               res=true;
               }
             else PRINTF(L_CC_CAMD35,"unexpected/bad CW packet");