]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/nonce2key/crapto1.c
CHG: some textual change and some syntax suger changes.
[proxmark3-svn] / client / nonce2key / crapto1.c
index 919820e9a12e85e05da38ae08eb5ba039909e196..0339190f095dae2e19d887f2636eafe909e91601 100644 (file)
@@ -26,7 +26,7 @@ static void __attribute__((constructor)) fill_lut()
 {\r
        uint32_t i;\r
        for(i = 0; i < 1 << 20; ++i)\r
-                       filterlut[i] = filter(i);\r
+               filterlut[i] = filter(i);\r
 }\r
 #define filter(x) (filterlut[(x) & 0xfffff])\r
 #endif\r
@@ -188,15 +188,15 @@ struct Crypto1State* lfsr_recovery32(uint32_t ks2, uint32_t in)
        recover(odd_head, odd_tail, oks, even_head, even_tail, eks, 11, statelist, in << 1, bucket);\r
 \r
 out:\r
+       for (uint32_t i = 0; i < 2; i++)\r
+               for (uint32_t j = 0; j <= 0xff; j++)\r
+                       free(bucket[i][j].head);\r
        free(odd_head);\r
        free(even_head);\r
-       for (uint8_t i = 0; i < 2; i++)\r
-               for (uint8_t j = 0; j <= 0xff; j++)\r
-                       free(bucket[i][j].head);\r
        return statelist;\r
 }\r
 \r
-static const uint32_t S1[] = {     0x62141, 0x310A0, 0x18850, 0x0C428, 0x06214,\r
+static const uint32_t S1[] = { 0x62141, 0x310A0, 0x18850, 0x0C428, 0x06214,\r
        0x0310A, 0x85E30, 0xC69AD, 0x634D6, 0xB5CDE, 0xDE8DA, 0x6F46D, 0xB3C83,\r
        0x59E41, 0xA8995, 0xD027F, 0x6813F, 0x3409F, 0x9E6FA};\r
 static const uint32_t S2[] = {  0x3A557B00, 0x5D2ABD80, 0x2E955EC0, 0x174AAF60,\r
@@ -486,12 +486,11 @@ struct Crypto1State* lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8]
        odd = lfsr_prefix_ks(ks, 1);\r
        even = lfsr_prefix_ks(ks, 0);\r
 \r
-       s = statelist = malloc((sizeof *statelist) << 21);\r
+       s = statelist = malloc((sizeof *statelist) << 20);\r
        if(!s || !odd || !even) {\r
                free(statelist);\r
-               free(odd);\r
-               free(even);\r
-               return 0;\r
+               statelist = 0;\r
+               goto out;\r
        }\r
 \r
        for(o = odd; *o + 1; ++o)\r
@@ -503,8 +502,8 @@ struct Crypto1State* lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8]
                        }\r
 \r
        s->odd = s->even = 0;\r
-\r
+out:\r
        free(odd);\r
        free(even);\r
        return statelist;\r
-}
\ No newline at end of file
+}\r
Impressum, Datenschutz