From: leslie Date: Tue, 15 Sep 2009 08:48:34 +0000 (+0800) Subject: cardclient-gbox: fix ECM buffer handling X-Git-Tag: upstream/620~164 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=a7678118be2f83b048070fabf8d76a5f148dc00c;p=sasc-ng.git cardclient-gbox: fix ECM buffer handling --- diff --git a/systems/cardclient/gbox.c b/systems/cardclient/gbox.c index 3b16119..07ffff9 100644 --- a/systems/cardclient/gbox.c +++ b/systems/cardclient/gbox.c @@ -101,7 +101,11 @@ bool cCardClientGbox::ProcessECM(const cEcmInfo *ecm, const unsigned char *data, 0xf0,0x00, // prg info len 0x02, 0xff,0xec, 0xf0,0x00 }; - unsigned char *buff=AUTOMEM(sizeof(pmt)+8+n); + unsigned char buff[512]; + if(sizeof(pmt)+n+8>sizeof(buff)) { + PRINTF(L_CC_GBOX,"CA descriptor buffer overflow %d",sizeof(pmt)+n+8); + return false; + } memcpy(buff,pmt,sizeof(pmt)); buff[4]=ecm->prgId >> 8; buff[5]=ecm->prgId & 0xFF;