From 28b3f2ab0efec3e233216877399d8d4836edb889 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Sun, 26 Jan 2014 16:47:55 -0800 Subject: [PATCH] ^ is not a good way to check for all zeros :) Spotted by sneves@ --- src/libsodium/crypto_sign/ed25519/ref10/open.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libsodium/crypto_sign/ed25519/ref10/open.c b/src/libsodium/crypto_sign/ed25519/ref10/open.c index 29d94b23..94d50ef3 100644 --- a/src/libsodium/crypto_sign/ed25519/ref10/open.c +++ b/src/libsodium/crypto_sign/ed25519/ref10/open.c @@ -21,7 +21,7 @@ int crypto_sign_open( if (smlen < 64) return -1; if (sm[63] & 224) return -1; if (ge_frombytes_negate_vartime(&A,pk) != 0) return -1; - for (i = 0; i < 32; ++i) d ^= pk[i]; + for (i = 0; i < 32; ++i) d |= pk[i]; if (d == 0) return -1; for (i = 0;i < smlen;++i) m[i] = sm[i];