]> cvs.zerfleddert.de Git - proxmark3-svn/commitdiff
Minor bounds checks for setDemodBuf and printDemodBuff
authoriceman1001 <iceman@iuse.se>
Thu, 29 Jan 2015 20:44:24 +0000 (21:44 +0100)
committericeman1001 <iceman@iuse.se>
Thu, 29 Jan 2015 20:44:24 +0000 (21:44 +0100)
client/cmddata.c

index 8c91f0e115ce84c7f6e934861e784d5341943215..1c4eb5a60e1ff5ad5399aaa58758b6543a7df2cf 100644 (file)
@@ -30,6 +30,12 @@ static int CmdHelp(const char *Cmd);
 //by marshmellow
 void setDemodBuf(uint8_t *buff, size_t size, size_t startIdx)
 {
 //by marshmellow
 void setDemodBuf(uint8_t *buff, size_t size, size_t startIdx)
 {
+       if (buff == NULL) 
+               return;
+       
+       if ( size >= MAX_DEMOD_BUF_LEN)
+               size = MAX_DEMOD_BUF_LEN;
+       
        size_t i = 0;
        for (; i < size; i++){
                DemodBuffer[i]=buff[startIdx++];
        size_t i = 0;
        for (; i < size; i++){
                DemodBuffer[i]=buff[startIdx++];
@@ -56,6 +62,11 @@ void printDemodBuff()
                return;
        }
        if (bitLen>512) bitLen=512; //max output to 512 bits if we have more - should be plenty
                return;
        }
        if (bitLen>512) bitLen=512; //max output to 512 bits if we have more - should be plenty
+               
+       // equally divided by 16
+       if ( bitLen % 16 > 0)
+               bitLen = (bitlen/16);
+       
        for (i = 0; i <= (bitLen-16); i+=16) {
                PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i",
                        DemodBuffer[i],
        for (i = 0; i <= (bitLen-16); i+=16) {
                PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i",
                        DemodBuffer[i],
Impressum, Datenschutz