---
name: "CONF_modules_free"
section: "3ssl"
platform: "linux"
package: "openssl"
version: "3.6.5-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/CONF_modules_free"
---

# CONF\_modules\_free(3ssl)

OpenSSL configuration cleanup functions

## NAME

CONF\_modules\_free, CONF\_modules\_finish, CONF\_modules\_unload - OpenSSL configuration cleanup functions

## SYNOPSIS

```
 #include <openssl/conf.h>
 void CONF_modules_finish(void);
 void CONF_modules_unload(int all);
```

The following functions have been deprecated since OpenSSL 1.1.0, and can be hidden entirely by defining **OPENSSL\_API\_COMPAT** with a suitable version value, see **openssl\_user\_macros**(7):

```
 void CONF_modules_free(void);
```

## DESCRIPTION

**CONF\_modules\_free()** closes down and frees up all memory allocated by all configuration modules.  Normally, in versions of OpenSSL prior to 1.1.0, applications called **CONF\_modules\_free()** at exit to tidy up any configuration performed.

**CONF\_modules\_finish()** calls each configuration modules **finish** handler to free up any configuration that module may have performed.

**CONF\_modules\_unload()** finishes and unloads configuration modules. If **all** is set to **0** only modules loaded from DSOs will be unloads. If **all** is **1** all modules, including built-in modules will be unloaded.

## RETURN VALUES

None of the functions return a value.

## SEE ALSO

[**config**(5)](/config/5.md), **OPENSSL\_config**(3), **CONF\_modules\_load\_file\_ex**(3)

## HISTORY

**CONF\_modules\_free()** was deprecated in OpenSSL 1.1.0; do not use it. For more information see **OPENSSL\_init\_crypto**(3).

## COPYRIGHT

Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License").  You may not use this file except in compliance with the License.  You can obtain a copy in the file LICENSE in the source distribution or at \<https://www.openssl.org/source/license.html\>.
