From ac5424d6a9f5aa37432cbbf366745f708f44a8ec Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 25 Apr 2025 18:30:39 +0200 Subject: [PATCH] gh-107954: Add audit event to PyConfig_Set() (#132958) --- Doc/c-api/init_config.rst | 2 ++ Python/initconfig.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/Doc/c-api/init_config.rst b/Doc/c-api/init_config.rst index d8d442cff03..bc5b236393b 100644 --- a/Doc/c-api/init_config.rst +++ b/Doc/c-api/init_config.rst @@ -619,6 +619,8 @@ Some options are read from the :mod:`sys` attributes. For example, the option The caller must have an :term:`attached thread state`. The function cannot be called before Python initialization nor after Python finalization. + .. audit-event:: cpython.PyConfig_Set name,value c.PyConfig_Set + .. versionadded:: 3.14 diff --git a/Python/initconfig.c b/Python/initconfig.c index 43b85a383d3..7d3043dd5d1 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -4539,6 +4539,10 @@ config_set_int_attr(const PyConfigSpec *spec, int value) int PyConfig_Set(const char *name, PyObject *value) { + if (PySys_Audit("cpython.PyConfig_Set", "sO", name, value) < 0) { + return -1; + } + const PyConfigSpec *spec = config_find_spec(name); if (spec == NULL) { spec = preconfig_find_spec(name);