diff options
author | Andy Polyakov <appro@openssl.org> | 2014-09-25 00:42:26 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2014-09-25 00:47:18 +0200 |
commit | 3a339235150ac6449687f924712f69f7bd5d8f0f (patch) | |
tree | b55ecd67ab05ba23647cba0017c0a202d742f1f0 /crypto | |
parent | f2df488a1c7402e48c21c83e937955dfe9f40bee (diff) |
crypto/bn/bn_nist.c: work around MSC ARM compiler bug.
RT: 3541
Reviewed-by: Emilia Kasper <emilia@openssl.org>
(cherry picked from commit 8b07c005fe006044d0e4a795421447deca3c9f2c)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/bn/bn_nist.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/crypto/bn/bn_nist.c b/crypto/bn/bn_nist.c index e22968d4a3..abb1570853 100644 --- a/crypto/bn/bn_nist.c +++ b/crypto/bn/bn_nist.c @@ -1088,9 +1088,9 @@ int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *field, /* ... and right shift */ for (val=t_d[0],i=0; i<BN_NIST_521_TOP-1; i++) { - tmp = val>>BN_NIST_521_RSHIFT; - val = t_d[i+1]; - t_d[i] = (tmp | val<<BN_NIST_521_LSHIFT) & BN_MASK2; + t_d[i] = ( val>>BN_NIST_521_RSHIFT | + (tmp=t_d[i+1])<<BN_NIST_521_LSHIFT ) & BN_MASK2; + val=tmp; } t_d[i] = val>>BN_NIST_521_RSHIFT; /* lower 521 bits */ |