[Python-checkins] bpo-38922: Raise code.__new__ audit event when code object replace() is called (GH-17394)

Miss Islington (bot) webhook-mailer at python.org
Tue Nov 26 19:46:36 EST 2019


https://github.com/python/cpython/commit/191f94cca6f8cf59535e7459c1113e4a1cdfe201
commit: 191f94cca6f8cf59535e7459c1113e4a1cdfe201
branch: 3.8
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2019-11-26T16:46:32-08:00
summary:

bpo-38922: Raise code.__new__ audit event when code object replace() is called (GH-17394)

(cherry picked from commit c7c01ab1e5415b772c68e15f1aba51e520010830)

Co-authored-by: Steve Dower <steve.dower at python.org>

files:
A Misc/NEWS.d/next/Core and Builtins/2019-11-26-12-20-34.bpo-38922.i6ja-i.rst
M Objects/codeobject.c

diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-11-26-12-20-34.bpo-38922.i6ja-i.rst b/Misc/NEWS.d/next/Core and Builtins/2019-11-26-12-20-34.bpo-38922.i6ja-i.rst
new file mode 100644
index 0000000000000..a7af652e5a5bd
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2019-11-26-12-20-34.bpo-38922.i6ja-i.rst	
@@ -0,0 +1,2 @@
+Calling ``replace`` on a code object now raises the ``code.__new__`` audit
+event.
diff --git a/Objects/codeobject.c b/Objects/codeobject.c
index 39bf6fc6f228e..f0b62ec94148d 100644
--- a/Objects/codeobject.c
+++ b/Objects/codeobject.c
@@ -641,6 +641,13 @@ code_replace_impl(PyCodeObject *self, int co_argcount,
 
 #undef CHECK_INT_ARG
 
+    if (PySys_Audit("code.__new__", "OOOiiiiii",
+                    co_code, co_filename, co_name, co_argcount,
+                    co_posonlyargcount, co_kwonlyargcount, co_nlocals,
+                    co_stacksize, co_flags) < 0) {
+        return NULL;
+    }
+
     return (PyObject *)PyCode_NewWithPosOnlyArgs(
         co_argcount, co_posonlyargcount, co_kwonlyargcount, co_nlocals,
         co_stacksize, co_flags, (PyObject*)co_code, co_consts, co_names,



More information about the Python-checkins mailing list