From cf6f30963cdf6de47342e6724ebd7f8e8058ad43 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 7 Jul 2015 10:59:59 -0700 Subject: [PATCH] Kill a potential source of type punning BUS errors on Android, and besides that hack probably did not improve performance at all given the short lenghts of things compared with secureEq() --- node/Utils.hpp | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/node/Utils.hpp b/node/Utils.hpp index bd567cf5c..70918eb5d 100644 --- a/node/Utils.hpp +++ b/node/Utils.hpp @@ -60,20 +60,10 @@ public: static inline bool secureEq(const void *a,const void *b,unsigned int len) throw() { - const char *p1 = (const char *)a; - const char *p2 = (const char *)b; - uint64_t diff = 0; - - while (len >= 8) { - diff |= (*((const uint64_t *)p1) ^ *((const uint64_t *)p2)); - p1 += 8; - p2 += 8; - len -= 8; - } - while (len--) - diff |= (uint64_t)(*p1++ ^ *p2++); - - return (diff == 0ULL); + char diff = 0; + for(unsigned int i=0;i(a))[i] ^ (reinterpret_cast(b))[i] ); + return (diff == 0); } /**