ERR_error_string.3ossl - Man Page

obtain human-readable error message


 #include <openssl/err.h>

 char *ERR_error_string(unsigned long e, char *buf);
 void ERR_error_string_n(unsigned long e, char *buf, size_t len);

 const char *ERR_lib_error_string(unsigned long e);
 const char *ERR_reason_error_string(unsigned long e);

Deprecated in OpenSSL 3.0:

 const char *ERR_func_error_string(unsigned long e);


ERR_error_string() generates a human-readable string representing the error code e, and places it at buf. buf must be at least 256 bytes long. If buf is NULL, the error string is placed in a static buffer. Note that this function is not thread-safe and does no checks on the size of the buffer; use ERR_error_string_n() instead.

ERR_error_string_n() is a variant of ERR_error_string() that writes at most len characters (including the terminating 0) and truncates the string if necessary. For ERR_error_string_n(), buf may not be NULL.

The string will have the following format:

 error:[error code]:[library name]::[reason string]

error code is an 8 digit hexadecimal number, library name and reason string are ASCII text.

ERR_lib_error_string() and ERR_reason_error_string() return the library name and reason string respectively.

If there is no text string registered for the given error code, the error string will contain the numeric code.

ERR_print_errors(3) can be used to print all error codes currently in the queue.

Return Values

ERR_error_string() returns a pointer to a static buffer containing the string if buf == NULL, buf otherwise.

ERR_lib_error_string() and ERR_reason_error_string() return the strings, and NULL if none is registered for the error code.

ERR_func_error_string() returns NULL.

See Also

ERR_get_error(3), ERR_print_errors(3)


ERR_func_error_string() became deprecated in OpenSSL 3.0.

Referenced By

ERR_get_error.3ossl(3), ERR_load_crypto_strings.3ossl(3), ERR_print_errors.3ossl(3).

The man pages ERR_error_string_n.3ossl(3), ERR_func_error_string.3ossl(3), ERR_lib_error_string.3ossl(3) and ERR_reason_error_string.3ossl(3) are aliases of ERR_error_string.3ossl(3).

2021-09-09 3.0.0 OpenSSL