ASN1_NULL_NEW(3) | Library Functions Manual | ASN1_NULL_NEW(3)

# NAME

`ASN1_NULL_new`, `ASN1_NULL_free` — ASN.1 NULL value

# SYNOPSIS

library “libcrypto”
`#include <openssl/asn1.h>`

ASN1_NULL *
`ASN1_NULL_new`(void);

void
`ASN1_NULL_free`(ASN1_NULL *val_in);

# DESCRIPTION

`ASN1_NULL_new`() returns a specific invalid pointer that represents the ASN.1 NULL value, which is the only possible value of the ASN.1 NULL type. That pointer is different from a `NULL` pointer. Dereferencing it almost certainly results in a segmentation fault. This function does not allocate memory and cannot fail.

`ASN1_NULL_free`() has no effect whatsoever. In particular, it ignores the val_in argument and does not free any memory. In normal use, application programs only pass the invalid pointer obtained from `ASN1_NULL_new`() to this function. But even if a valid pointer is passed, that pointer does not become invalid.

The ASN.1 NULL type is also represented by the `V_ASN1_NULL` type identifier constant.

# SEE ALSO

ASN1_item_new(3), d2i_ASN1_NULL(3)

# STANDARDS

ITU-T Recommendation X.208, also known as ISO/IEC 8824-1: Specification of Abstract Syntax Notation One (ASN.1), section 19: Notation for the null type

# HISTORY

`ASN1_NULL_new`() and `ASN1_NULL_free`() first appeared in OpenSSL 0.9.5 and have been available since OpenBSD 2.7.

June 8, 2025 | Debian