Fix an alignment issue in our extensions to ed25519_donna

Apparently this only happens with clang (or with some particular
clang versions), and only on i386.

Fixes 16970; bug not in any released Tor.

Found by Teor; fix from Yawning.
This commit is contained in:
Nick Mathewson 2015-09-04 09:30:59 -04:00
parent 81e58cd00a
commit 81e3deeb54

View File

@ -323,7 +323,7 @@ int
ed25519_donna_pubkey_from_curve25519_pubkey(unsigned char *out, ed25519_donna_pubkey_from_curve25519_pubkey(unsigned char *out,
const unsigned char *inp, int signbit) const unsigned char *inp, int signbit)
{ {
static const bignum25519 one = { 1 }; static const bignum25519 ALIGN(16) one = { 1 };
bignum25519 ALIGN(16) u, uminus1, uplus1, inv_uplus1, y; bignum25519 ALIGN(16) u, uminus1, uplus1, inv_uplus1, y;
/* Prop228: y = (u-1)/(u+1) */ /* Prop228: y = (u-1)/(u+1) */