From: leslie Date: Tue, 9 Dec 2008 17:38:15 +0000 (+0100) Subject: cardclient-camd: check for partial valid CW X-Git-Tag: 0.9.1~3 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=583b760f6cd0449ea4944852e46350d9139bcacc;p=sasc-ng.git cardclient-camd: check for partial valid CW --- diff --git a/systems/cardclient/camd.c b/systems/cardclient/camd.c index 5334a6d..a85f650 100644 --- a/systems/cardclient/camd.c +++ b/systems/cardclient/camd.c @@ -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");