Misc BN fixes
authorRich Salz <rsalz@openssl.org>
Mon, 5 Sep 2016 22:08:43 +0000 (18:08 -0400)
committerRich Salz <rsalz@openssl.org>
Tue, 6 Sep 2016 14:42:01 +0000 (10:42 -0400)
commit01c09f9fde5793e0b3712d602b02e2aed4908e8d
tree8dffd9ac9fd1f8525fe8c7bcc81ba636108fe242
parent77a42b5f177e308233ab108806c48b9590a780e2
Misc BN fixes

Never output -0; make "negative zero" an impossibility.
Do better checking on BN_rand top/bottom requirements and #bits.
Update doc.
Ignoring trailing garbage in BN_asc2bn.

Port this commit from boringSSL: https://boringssl.googlesource.com/boringssl/+/899b9b19a4cd3fe526aaf5047ab9234cdca19f7d%5E!/
        Ensure |BN_div| never gives negative zero in the no_branch code.

        Have |bn_correct_top| fix |bn->neg| if the input is zero so that we
        don't have negative zeros lying around.

        Thanks to Brian Smith for noticing.

Reviewed-by: Richard Levitte <levitte@openssl.org>
crypto/bn/bn_lib.c
crypto/bn/bn_print.c
crypto/bn/bn_rand.c
doc/crypto/BN_bn2bin.pod
doc/crypto/BN_rand.pod