diff --git a/Doc/c-api/init_config.rst b/Doc/c-api/init_config.rst index b59be98608a158..8f79201189e179 100644 --- a/Doc/c-api/init_config.rst +++ b/Doc/c-api/init_config.rst @@ -1617,6 +1617,8 @@ Create Config Free memory of the initialization configuration *config*. + If *config* is ``NULL``, no operation is performed. + Error Handling -------------- diff --git a/Programs/_testembed.c b/Programs/_testembed.c index 13f1db1cc708b5..54ac1eb4bdea56 100644 --- a/Programs/_testembed.c +++ b/Programs/_testembed.c @@ -1849,6 +1849,7 @@ static int test_initconfig_api(void) goto error; } PyInitConfig_Free(config); + PyInitConfig_Free(NULL); dump_config(); Py_Finalize(); diff --git a/Python/initconfig.c b/Python/initconfig.c index d2bb46062209da..767c035afc7cfb 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -3452,6 +3452,9 @@ PyInitConfig_Create(void) void PyInitConfig_Free(PyInitConfig *config) { + if (config == NULL) { + return; + } free(config->err_msg); free(config); }