OpenBSD manual page server

Manual Page Search Parameters

OPENSSL_MALLOC(3) Library Functions Manual OPENSSL_MALLOC(3)

OPENSSL_malloc, OPENSSL_free, OPENSSL_strdup, CRYPTO_malloc, CRYPTO_free, CRYPTO_strduplegacy OpenSSL memory allocation wrappers

#include <openssl/crypto.h>

void *
OPENSSL_malloc(size_t num);

OPENSSL_free(void *addr);

char *
OPENSSL_strdup(const char *str);

void *
CRYPTO_malloc(size_t num, const char *file, int line);

CRYPTO_free(void *str, const char *, int);

char *
CRYPTO_strdup(const char *p, const char *file, int line);

Do not use any of the interfaces documented here in new code. They are provided purely for compatibility with legacy application code.

These functions are wrappers around the corresponding standard malloc(3), free(3), and strdup(3) functions.

The () functions are implemented as macros.

These functions return the same type and value as the corresponding standard functions.


CRYPTO_malloc() and CRYPTO_free() first appeared in SSLeay 0.6.4 and have been available since OpenBSD 2.4.

OPENSSL_malloc() and OPENSSL_free() first appeared in OpenSSL 0.9.6 and have been available since OpenBSD 2.9.

CRYPTO_strdup() and OPENSSL_strdup() first appeared in OpenSSL 0.9.8j and have been available since OpenBSD 4.5.

If interoperability with other implementations is required, memory returned by the library as bare pointers must be freed with OPENSSL_free().

April 4, 2024 OpenBSD-current