From ff8f7b3e6cc42a80810ffcebead3e0c61a4810ef Mon Sep 17 00:00:00 2001 From: Jaroslav Ban Date: Fri, 9 Oct 2020 18:11:37 +0200 Subject: [PATCH] Fix to multiple evaluation in htonl macro --- fido2/extensions/extensions.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/fido2/extensions/extensions.c b/fido2/extensions/extensions.c index ceaed72..f3526d1 100644 --- a/fido2/extensions/extensions.c +++ b/fido2/extensions/extensions.c @@ -15,8 +15,10 @@ #include "log.h" -#define htonl(x) (((x & 0xff) << 24) | ((x & 0xff00) << 8) \ - | ((x & 0xff0000) >> 8) | ((x & 0xff000000) >> 24) ) +#define htonl(x) ((((x) & 0xff) << 24) | \ + (((x) & 0xff00) << 8) | \ + (((x) & 0xff0000) >> 8) | \ + (((x) & 0xff000000) >> 24)) int is_extension_request(uint8_t * kh, int len) { @@ -65,7 +67,8 @@ int16_t bridge_u2f_to_extensions(uint8_t * _chal, uint8_t * _appid, uint8_t klen uint8_t sig[72]; if (extension_needs_atomic_count(klen, keyh)) { - count = htonl(ctap_atomic_count(0)); + count = ctap_atomic_count(0); + count = htonl(count); } else {