X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fbn%2Fbn_lib.c;h=43c336f526091718796d81e16b69843e3fff79de;hp=1f45b09d080b6c86593c5fe304a57d42ccccfc0c;hb=1a0173304755bd44662a201734f80eca3afe8a9c;hpb=d2cd46127c746191b5fdcec6b04719feac4735c0 diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index 1f45b09d08..43c336f526 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);