https://github.com/python/cpython/commit/546dddca43a2a69dbe33d230e9e540636b403270
commit: 546dddca43a2a69dbe33d230e9e540636b403270
branch: main
author: RUANG (Roy James) <[email protected]>
committer: erlend-aasland <[email protected]>
date: 2024-10-15T09:21:16Z
summary:
gh-125234: Make PyInitConfig_Free(NULL) a no-op (#125266)
files:
M Doc/c-api/init_config.rst
M Programs/_testembed.c
M Python/initconfig.c
diff --git a/Doc/c-api/init_config.rst b/Doc/c-api/init_config.rst
index 6f8962afc7af0d..66e845df2e6aa5 100644
--- a/Doc/c-api/init_config.rst
+++ b/Doc/c-api/init_config.rst
@@ -1621,6 +1621,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 ab619e32429d63..0fb45b2265e3c6 100644
--- a/Programs/_testembed.c
+++ b/Programs/_testembed.c
@@ -1896,6 +1896,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 58ac5e7d7eaeff..c142438b02bfd9 100644
--- a/Python/initconfig.c
+++ b/Python/initconfig.c
@@ -3457,6 +3457,9 @@ PyInitConfig_Create(void)
void
PyInitConfig_Free(PyInitConfig *config)
{
+ if (config == NULL) {
+ return;
+ }
free(config->err_msg);
free(config);
}
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]