From: Rich Salz <rsalz@openssl.org> Date: Tue, 23 Jan 2018 14:58:33 +0000 (-0500) Subject: Fix BN doc X-Git-Tag: OpenSSL_1_1_0h~106 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8b2124aba357a928fec6d7a3bafe186fc83080fc;p=oweals%2Fopenssl.git Fix BN doc Backport from https://github.com/openssl/openssl/pull/5141 Reviewed-by: Viktor Dukhovni <viktor@openssl.org> Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de> (Merged from https://github.com/openssl/openssl/pull/5151) --- diff --git a/doc/crypto/BN_zero.pod b/doc/crypto/BN_zero.pod index 91d48aad88..70aff843cb 100644 --- a/doc/crypto/BN_zero.pod +++ b/doc/crypto/BN_zero.pod @@ -14,8 +14,8 @@ operations const BIGNUM *BN_value_one(void); - int BN_set_word(BIGNUM *a, unsigned long w); - unsigned long BN_get_word(BIGNUM *a); + int BN_set_word(BIGNUM *a, BN_ULONG w); + BN_ULONG BN_get_word(BIGNUM *a); Deprecated: @@ -25,19 +25,21 @@ Deprecated: =head1 DESCRIPTION +B<BN_ULONG> is a macro that will be an unsigned integral type optimied +for the most efficient implementation on the local platform. + BN_zero(), BN_one() and BN_set_word() set B<a> to the values 0, 1 and B<w> respectively. BN_zero() and BN_one() are macros. BN_value_one() returns a B<BIGNUM> constant of value 1. This constant is useful for use in comparisons and assignment. -BN_get_word() returns B<a>, if it can be represented as an unsigned -long. +BN_get_word() returns B<a>, if it can be represented as a B<BN_ULONG>. =head1 RETURN VALUES -BN_get_word() returns the value B<a>, and 0xffffffffL if B<a> cannot -be represented as an unsigned long. +BN_get_word() returns the value B<a>, or all-bits-set if B<a> cannot +be represented as a B<BN_ULONG>. BN_one(), BN_set_word() and the deprecated version of BN_zero() return 1 on success, 0 otherwise. @@ -46,10 +48,11 @@ The preferred version of BN_zero() never fails and returns no value. =head1 BUGS -Someone might change the constant. +If a B<BIGNUM> is equal to the value of all-bits-set, it will collide +with the error condition returned by BN_get_word() which uses that +as an error value. -If a B<BIGNUM> is equal to 0xffffffffL it can be represented as an -unsigned long but this value is also returned on error. +B<BN_ULONG> should probably be a typedef. =head1 SEE ALSO