From: Steve Dower Date: Wed, 27 Nov 2019 00:27:50 +0000 (-0800) Subject: bpo-38922: Raise code.__new__ audit event when code object replace() is called (GH... X-Git-Tag: v3.9.0a2~110 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c7c01ab1e5415b772c68e15f1aba51e520010830;p=thirdparty%2FPython%2Fcpython.git bpo-38922: Raise code.__new__ audit event when code object replace() is called (GH-17394) --- 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 000000000000..a7af652e5a5b --- /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 39bf6fc6f228..f0b62ec94148 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,