]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmddata.c
FIX: LF TI WRITE inparameters didn't get copied by sscanf. This removes the "PRIu64...
[proxmark3-svn] / client / cmddata.c
index cf4dc6b9b251c992a6ab84d29712fe334076d313..533caeb5bf7eee9bc6a7cf66fecb73c473ded17c 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)
 {
+       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++];
@@ -57,9 +63,8 @@ void printDemodBuff()
        }
        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);
+       // ensure equally divided by 16
+       bitLen &= 0xfff0;
        
        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",
@@ -193,6 +198,11 @@ void printBitStream(uint8_t BitStream[], uint32_t bitLen)
     return;
   }
   if (bitLen>512) bitLen=512;
+  
+       // ensure equally divided by 16
+       bitLen &= 0xfff0;
+
+
    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",
       BitStream[i],
Impressum, Datenschutz