From: Ulf Möller Date: Sat, 15 Nov 2003 08:37:50 +0000 (+0000) Subject: BN_set_bit() etc should use "unsigned int". X-Git-Tag: BEN_FIPS_TEST_4^2~11^2~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a0173304755bd44662a201734f80eca3afe8a9c;p=thirdparty%2Fopenssl.git BN_set_bit() etc should use "unsigned int". Keep it as is to avoid an API change, but check for negativ values. Submitted by: Nils Larsch --- diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index 1f45b09d080..43c336f5260 100644 --- a/crypto/bn/bn_lib.c +++ b/crypto/bn/bn_lib.c @@ -782,6 +782,9 @@ int BN_set_bit(BIGNUM *a, int n) { int i,j,k; + if (n < 0) + return 0; + i=n/BN_BITS2; j=n%BN_BITS2; if (a->top <= i) @@ -801,6 +804,9 @@ int BN_clear_bit(BIGNUM *a, int n) { int i,j; + if (n < 0) + return 0; + i=n/BN_BITS2; j=n%BN_BITS2; if (a->top <= i) return(0); @@ -825,6 +831,9 @@ int BN_mask_bits(BIGNUM *a, int n) { int b,w; + if (n < 0) + return 0; + w=n/BN_BITS2; b=n%BN_BITS2; if (w >= a->top) return(0);