]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
Merge pull request #560 from pwpiwi/fix_hfmfmif
authorIceman <iceman@iuse.se>
Tue, 6 Feb 2018 07:15:03 +0000 (08:15 +0100)
committerGitHub <noreply@github.com>
Tue, 6 Feb 2018 07:15:03 +0000 (08:15 +0100)
fix: prevent hf mf mifare from always running twice

client/cmdhfmfhard.c
client/mifarehost.c
client/proxmark3.c

index 69ad898db4ead30997ce98ede7837db0b886d2cb..cf19436c39614e154be2a46e85ea7d0a64561ae2 100644 (file)
@@ -1158,7 +1158,13 @@ static bool timeout(void)
 }
 
 
-static void *check_for_BitFlipProperties_thread(void *args)
+static void 
+#ifdef __has_attribute
+#if __has_attribute(force_align_arg_pointer)
+__attribute__((force_align_arg_pointer)) 
+#endif
+#endif
+*check_for_BitFlipProperties_thread(void *args)
 {
        uint8_t first_byte = ((uint8_t *)args)[0];
        uint8_t last_byte = ((uint8_t *)args)[1];
@@ -1906,7 +1912,13 @@ static void init_book_of_work(void)
 }
 
 
-static void *generate_candidates_worker_thread(void *args)
+static void 
+#ifdef __has_attribute
+#if __has_attribute(force_align_arg_pointer)
+__attribute__((force_align_arg_pointer)) 
+#endif
+#endif
+*generate_candidates_worker_thread(void *args)
 {
        uint16_t *sum_args = (uint16_t *)args;
        uint16_t sum_a0 = sums[sum_args[0]];
index b6eb60f000d61281d9d88d656ae455acf4acca25..a01d3b5f0485bf43b6b0087bc40a81b357edf9de 100644 (file)
@@ -297,7 +297,13 @@ typedef
 \r
 \r
 // wrapper function for multi-threaded lfsr_recovery32\r
-void* nested_worker_thread(void *arg)\r
+void\r
+#ifdef __has_attribute\r
+#if __has_attribute(force_align_arg_pointer)\r
+__attribute__((force_align_arg_pointer)) \r
+#endif\r
+#endif\r
+*nested_worker_thread(void *arg)\r
 {\r
        struct Crypto1State *p1;\r
        StateList_t *statelist = arg;\r
@@ -311,6 +317,7 @@ void* nested_worker_thread(void *arg)
        return statelist->head.slhead;\r
 }\r
 \r
+\r
 int mfnested(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBlockNo, uint8_t trgKeyType, uint8_t *resultKey, bool calibrate)\r
 {\r
        uint16_t i;\r
index 99ba9fbad77ec9dbcea40bc0b36074ea7914b0e5..95dd7cb948168a17ccbc841bd097ced81c763d70 100644 (file)
@@ -67,7 +67,14 @@ struct receiver_arg {
 byte_t rx[sizeof(UsbCommand)];
 byte_t* prx = rx;
 
-static void *uart_receiver(void *targ) {
+
+static void
+#ifdef __has_attribute
+#if __has_attribute(force_align_arg_pointer)
+__attribute__((force_align_arg_pointer)) 
+#endif
+#endif
+*uart_receiver(void *targ) {
        struct receiver_arg *arg = (struct receiver_arg*)targ;
        size_t rxlen;
 
@@ -95,7 +102,13 @@ static void *uart_receiver(void *targ) {
 }
 
 
-void main_loop(char *script_cmds_file, char *script_cmd, bool usb_present) {
+void
+#ifdef __has_attribute
+#if __has_attribute(force_align_arg_pointer)
+__attribute__((force_align_arg_pointer)) 
+#endif
+#endif
+main_loop(char *script_cmds_file, char *script_cmd, bool usb_present) {
        struct receiver_arg rarg;
        char *cmd = NULL;
        pthread_t reader_thread;
Impressum, Datenschutz