Commit ba2f616aa9 for openssl.org

commit ba2f616aa9b9c081bb89a7b1073c90f2c86cccff
Author: kovan <xaum.io@gmail.com>
Date:   Tue Jan 27 06:16:06 2026 +0100

    doc: Clarify that BN_CTX must not be NULL for BN arithmetic functions

    The documentation for BN_add and related functions did not explicitly
    state that the ctx parameter cannot be NULL. Users may assume NULL is
    acceptable since some other OpenSSL functions allow it, but passing
    NULL to functions like BN_mod_add() or BN_mod() causes a crash.

    Update the documentation to explicitly state that ctx must not be NULL.

    Fixes #12092

    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

    Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
    Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
    MergeDate: Wed Apr 15 11:47:59 2026
    (Merged from https://github.com/openssl/openssl/pull/29773)

diff --git a/doc/man3/BN_add.pod b/doc/man3/BN_add.pod
index 46966d9963..edbc48c50f 100644
--- a/doc/man3/BN_add.pod
+++ b/doc/man3/BN_add.pod
@@ -108,8 +108,10 @@ BN_gcd() computes the greatest common divisor of I<a> and I<b> and
 places the result in I<r>. I<r> may be the same B<BIGNUM> as I<a> or
 I<b>.

-For all functions, I<ctx> is a previously allocated B<BN_CTX> used for
-temporary variables; see L<BN_CTX_new(3)>.
+For all functions that take a I<ctx> parameter, it must be a previously
+allocated B<BN_CTX> used for temporary variables; see L<BN_CTX_new(3)>.
+Unless stated otherwise in the documentation for a specific function,
+the I<ctx> parameter must not be NULL.

 Unless noted otherwise, the result B<BIGNUM> must be different from
 the arguments.