diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-10-15 21:29:01 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-10-17 19:26:07 +0200 |
commit | 58af720072b1e4edc5d7e726728486a1c91af1b3 (patch) | |
tree | c1c9255c85229d977599610ef99b85f50500cde7 /src/tools | |
parent | Makefile: even prettier output (diff) | |
download | wireguard-monolithic-historical-58af720072b1e4edc5d7e726728486a1c91af1b3.tar.xz wireguard-monolithic-historical-58af720072b1e4edc5d7e726728486a1c91af1b3.zip |
tools: encoding: be more paranoid
Needless, but overkill can be fun.
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/encoding.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/tools/encoding.c b/src/tools/encoding.c index 3d5e94b..c407b57 100644 --- a/src/tools/encoding.c +++ b/src/tools/encoding.c @@ -102,10 +102,10 @@ bool key_from_hex(uint8_t key[static WG_KEY_LEN], const char *hex) bool key_is_zero(const uint8_t key[static WG_KEY_LEN]) { - uint8_t acc = 0; + volatile uint8_t acc = 0; for (unsigned int i = 0; i < WG_KEY_LEN; ++i) { acc |= key[i]; __asm__ ("" : "=r" (acc) : "0" (acc)); } - return acc == 0; + return 1 & ((acc - 1) >> 8); } |