]> cvs.zerfleddert.de Git - proxmark3-svn/commitdiff
FIX: 'LF PYRAMID' the crc8_MAXIM and crc16_DNP was calling the wrong crc method....
authoriceman1001 <iceman@iuse.se>
Mon, 14 Nov 2016 20:41:18 +0000 (21:41 +0100)
committericeman1001 <iceman@iuse.se>
Mon, 14 Nov 2016 20:41:18 +0000 (21:41 +0100)
Thanks to @rookieatall  @marshmellow42 for pointing out the bug. ref: http://www.proxmark.org/forum/viewtopic.php?id=4006

common/crc.c

index 47e21426c7240276477ed3a19a90a11a66e62b2b..f9a15234ed951da5f95e739e2ebf7c2c150b4eb1 100644 (file)
@@ -68,7 +68,6 @@ void crc_update(crc_t *crc, uint32_t data, int data_width)
        }
 }
 
-
 uint32_t crc_finish(crc_t *crc) {
        uint32_t val = crc->state;
        if (crc->refout) val = reflect(val, crc->order);
@@ -96,7 +95,7 @@ uint32_t CRC8Maxim(uint8_t *buff, size_t size) {
        crc_t crc;
        crc_init_ref(&crc, 8, 0x31, 0, 0, TRUE, TRUE);  
        for ( int i=0; i < size; ++i)
-               crc_update(&crc, buff[i], 8);
+               crc_update2(&crc, buff[i], 8);
        return crc_finish(&crc);
 }
 
@@ -139,7 +138,7 @@ uint32_t CRC16_DNP(uint8_t *buff, size_t size) {
        crc_t crc;
        crc_init_ref(&crc, 16, 0x3d65, 0, 0xffff, TRUE, TRUE);
        for ( int i=0; i < size; ++i)
-               crc_update(&crc, buff[i], 8);
+               crc_update2(&crc, buff[i], 8);
        
        return BSWAP_16(crc_finish(&crc));
 }
Impressum, Datenschutz