Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix nightly manual

This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.

NAME

OPENSSL_malloc, OPENSSL_free, OPENSSL_strdup, CRYPTO_malloc, CRYPTO_free, CRYPTO_strdup — legacy OpenSSL memory allocation wrappers

SYNOPSIS

#include <openssl/crypto.h>
void *
OPENSSL_malloc(size_t num);
void
OPENSSL_free(void *addr);
char *
OPENSSL_strdup(const char *str);
void *
CRYPTO_malloc(size_t num, const char *file, int line);
void
CRYPTO_free(void *str, const char *, int);
char *
CRYPTO_strdup(const char *p, const char *file, int line);

DESCRIPTION

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 OPENSSL_*() functions are implemented as macros.

RETURN VALUES

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

SEE ALSO

crypto(3)

HISTORY

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.

CAVEATS

If interoperability with other implementations is required, memory returned by the library as bare pointers must be freed with OPENSSL_free().
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org