BN_new - allocate and free BIGNUMs
#include <openssl/bn.h> BIGNUM *BN_new(void); void BN_init(BIGNUM *); void BN_clear(BIGNUM *a); void BN_free(BIGNUM *a); void BN_clear_free(BIGNUM *a);
BN_new(3openssl) OpenSSL BN_new(3openssl) NAME BN_new, BN_init, BN_clear, BN_free, BN_clear_free - allocate and free BIGNUMs SYNOPSIS #include <openssl/bn.h> BIGNUM *BN_new(void); void BN_init(BIGNUM *); void BN_clear(BIGNUM *a); void BN_free(BIGNUM *a); void BN_clear_free(BIGNUM *a); DESCRIPTION BN_new() allocates and initializes a BIGNUM structure. BN_init() initializes an existing uninitialized BIGNUM. BN_clear() is used to destroy sensitive data such as keys when they are no longer needed. It erases the memory used by a and sets it to the value 0. BN_free() frees the components of the BIGNUM, and if it was created by BN_new(), also the structure itself. BN_clear_free() additionally overwrites the data before the memory is returned to the system. If a is NULL, nothing is done. RETURN VALUES BN_new() returns a pointer to the BIGNUM initialised to the value 0. If the allocation fails, it returns NULL and sets an error code that can be obtained by ERR_get_error(3). BN_init(), BN_clear(), BN_free() and BN_clear_free() have no return values. ATTRIBUTES See attributes(7) for descriptions of the following attributes: +---------------+--------------------------+ |ATTRIBUTE TYPE | ATTRIBUTE VALUE | +---------------+--------------------------+ |Availability | library/security/openssl | +---------------+--------------------------+ |Stability | Pass-through uncommitted | +---------------+--------------------------+ SEE ALSO bn(3), ERR_get_error(3) HISTORY BN_new(), BN_clear(), BN_free() and BN_clear_free() are available in all versions on SSLeay and OpenSSL. BN_init() was added in SSLeay 0.9.1b. NOTES Source code for open source software components in Oracle Solaris can be found at https://www.oracle.com/downloads/opensource/solaris-source- code-downloads.html. This software was built from source available at https://github.com/oracle/solaris-userland. The original community source was downloaded from https://www.openssl.org/source/openssl-1.0.2ze.tar.gz. Further information about this software can be found on the open source community website at https://www.openssl.org/. 1.0.2ze 2022-05-03 BN_new(3openssl)