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
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
}\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