zcashd/depends/patches/libsodium/1.0.15-pubkey-validation.diff

18 lines
678 B
Diff

diff -ur libsodium-1.0.18-orig/src/libsodium/crypto_sign/ed25519/ref10/open.c libsodium-1.0.18/src/libsodium/crypto_sign/ed25519/ref10/open.c
--- libsodium-1.0.18-orig/src/libsodium/crypto_sign/ed25519/ref10/open.c 2019-05-18 16:32:11.000000000 -0400
+++ libsodium-1.0.18/src/libsodium/crypto_sign/ed25519/ref10/open.c 2020-01-21 18:55:22.474233831 -0500
@@ -32,8 +32,11 @@
ge25519_has_small_order(sig) != 0) {
return -1;
}
- if (ge25519_is_canonical(pk) == 0 ||
- ge25519_has_small_order(pk) != 0) {
+ unsigned char d = 0;
+ for (int i = 0; i < 32; ++i) {
+ d |= pk[i];
+ }
+ if (d == 0) {
return -1;
}
#endif