]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - tools/mfkey/crapto1.c
FIX: makeing sure the "make clean" now deletes the nonce2key.exe file.
[proxmark3-svn] / tools / mfkey / crapto1.c
index 9d491d1271ff1fdcda05b5ae980e1530f8d00ccc..5715ad27a95c2221f9729b432e1894c45eaeb669 100755 (executable)
@@ -15,7 +15,7 @@
     Foundation, Inc., 51 Franklin Street, Fifth Floor,\r
     Boston, MA  02110-1301, US$\r
 \r
     Foundation, Inc., 51 Franklin Street, Fifth Floor,\r
     Boston, MA  02110-1301, US$\r
 \r
-    Copyright (C) 2008-2008 bla <blapost@gmail.com>\r
+    Copyright (C) 2008-2014 bla <blapost@gmail.com>\r
 */\r
 #include "crapto1.h"\r
 #include <stdlib.h>\r
 */\r
 #include "crapto1.h"\r
 #include <stdlib.h>\r
@@ -33,7 +33,7 @@ static void __attribute__((constructor)) fill_lut()
 \r
 static void quicksort(uint32_t* const start, uint32_t* const stop)\r
 {\r
 \r
 static void quicksort(uint32_t* const start, uint32_t* const stop)\r
 {\r
-       uint32_t *it = start + 1, *rit = stop;\r
+       uint32_t *it = start + 1, *rit = stop, t;\r
 \r
        if(it > rit)\r
                return;\r
 \r
        if(it > rit)\r
                return;\r
@@ -44,12 +44,12 @@ static void quicksort(uint32_t* const start, uint32_t* const stop)
                else if(*rit > *start)\r
                        --rit;\r
                else\r
                else if(*rit > *start)\r
                        --rit;\r
                else\r
-                       *it ^= (*it ^= *rit, *rit ^= *it);\r
+                       t = *it,  *it = *rit, *rit = t;\r
 \r
        if(*rit >= *start)\r
                --rit;\r
        if(rit != start)\r
 \r
        if(*rit >= *start)\r
                --rit;\r
        if(rit != start)\r
-               *rit ^= (*rit ^= *start, *start ^= *rit);\r
+               t = *rit,  *rit = *start, *start = t;\r
 \r
        quicksort(start, rit - 1);\r
        quicksort(rit + 1, stop);\r
 \r
        quicksort(start, rit - 1);\r
        quicksort(rit + 1, stop);\r
@@ -319,9 +319,10 @@ uint8_t lfsr_rollback_bit(struct Crypto1State *s, uint32_t in, int fb)
 {\r
        int out;\r
        uint8_t ret;\r
 {\r
        int out;\r
        uint8_t ret;\r
+       uint32_t t;\r
 \r
        s->odd &= 0xffffff;\r
 \r
        s->odd &= 0xffffff;\r
-       s->odd ^= (s->odd ^= s->even, s->even ^= s->odd);\r
+       t = s->odd, s->odd = s->even, s->even = t;\r
 \r
        out = s->even & 1;\r
        out ^= LF_POLY_EVEN & (s->even >>= 1);\r
 \r
        out = s->even & 1;\r
        out ^= LF_POLY_EVEN & (s->even >>= 1);\r
Impressum, Datenschutz