Reject negative shifts for BN_rshift and BN_lshift
authorMatt Caswell <matt@openssl.org>
Tue, 19 May 2015 14:19:30 +0000 (15:19 +0100)
committerMatt Caswell <matt@openssl.org>
Fri, 22 May 2015 22:19:34 +0000 (23:19 +0100)
commit1a9499cf23dfd441628f37c29cfe5ac615255ee1
treee1a9bc9bd70c78ea98433a351f09bf0b2ba3312f
parent254c01ed548263cf7128f54dc5c51b4df18f9b37
Reject negative shifts for BN_rshift and BN_lshift

The functions BN_rshift and BN_lshift shift their arguments to the right or
left by a specified number of bits. Unpredicatable results (including
crashes) can occur if a negative number is supplied for the shift value.

Thanks to Mateusz Kocielski (LogicalTrust), Marek Kroemeke and Filip Palian
for discovering and reporting this issue.

Reviewed-by: Kurt Roeckx <kurt@openssl.org>
(cherry picked from commit 7cc18d8158b5fc2676393d99b51c30c135502107)

Conflicts:
crypto/bn/bn.h
crypto/bn/bn_err.c
crypto/bn/bn.h
crypto/bn/bn_err.c
crypto/bn/bn_shift.c
doc/crypto/BN_set_bit.pod