X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/7ac59a82ab5d244407254febf5dc9b7be892d2ad..385c1a5ebc90f134d9856f491065476e8ef44741:/common/crapto1/crypto1.c

diff --git a/common/crapto1/crypto1.c b/common/crapto1/crypto1.c
index a3f64a9f..19b71cbb 100644
--- a/common/crapto1/crypto1.c
+++ b/common/crapto1/crypto1.c
@@ -18,12 +18,14 @@
 	Copyright (C) 2008-2008 bla <blapost@gmail.com>
 */
 #include "crapto1.h"
+
 #include <stdlib.h>
+#include "parity.h"
 
 #define SWAPENDIAN(x)\
 	(x = (x >> 8 & 0xff00ff) | (x & 0xff00ff) << 8, x = x >> 16 | x << 16)
 
-#if defined(__arm__) && !defined(__linux__) && !defined(_WIN32)			// bare metal ARM lacks malloc()/free()
+#if defined(__arm__) && !defined(__linux__) && !defined(_WIN32) && !defined(__APPLE__)		// bare metal ARM Proxmark lacks malloc()/free()
 void crypto1_create(struct Crypto1State *s, uint64_t key)
 {
 	int i;
@@ -73,7 +75,7 @@ uint8_t crypto1_bit(struct Crypto1State *s, uint8_t in, int is_encrypted)
 	feedin ^= !!in;
 	feedin ^= LF_POLY_ODD & s->odd;
 	feedin ^= LF_POLY_EVEN & s->even;
-	s->even = s->even << 1 | parity(feedin);
+	s->even = s->even << 1 | evenparity32(feedin);
 
 	t = s->odd, s->odd = s->even, s->even = t;