From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sat, 18 Apr 2026 00:47:06 +0000 (+0200) Subject: [3.14] gh-148222: Fix NULL dereference bugs in genericaliasobject.c (GH-148226) ... X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=67100b3e926c2c7cdd9d0825add677b19664f377;p=thirdparty%2FPython%2Fcpython.git [3.14] gh-148222: Fix NULL dereference bugs in genericaliasobject.c (GH-148226) (#148705) gh-148222: Fix NULL dereference bugs in genericaliasobject.c (GH-148226) (cherry picked from commit 634568d030f18183212c01bd4544aa7f97e05442) Co-authored-by: Prakash Sellathurai --- diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-07-20-37-23.gh-issue-148222.uF4D4E.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-07-20-37-23.gh-issue-148222.uF4D4E.rst new file mode 100644 index 000000000000..2c273fc4daba --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-07-20-37-23.gh-issue-148222.uF4D4E.rst @@ -0,0 +1 @@ +Fix vectorcall support in :class:`types.GenericAlias` when the underlying type does not support the vectorcall protocol. Fix possible leaks in :class:`types.GenericAlias` and :class:`types.UnionType` in case of memory error. diff --git a/Objects/genericaliasobject.c b/Objects/genericaliasobject.c index 119dd4b5c2dd..7c518e19c7d2 100644 --- a/Objects/genericaliasobject.c +++ b/Objects/genericaliasobject.c @@ -242,7 +242,6 @@ _Py_make_parameters(PyObject *args) len += needed; if (_PyTuple_Resize(¶meters, len) < 0) { Py_DECREF(subparams); - Py_DECREF(parameters); Py_XDECREF(tuple_args); return NULL; } @@ -647,7 +646,7 @@ ga_vectorcall(PyObject *self, PyObject *const *args, size_t nargsf, PyObject *kwnames) { gaobject *alias = (gaobject *) self; - PyObject *obj = PyVectorcall_Function(alias->origin)(alias->origin, args, nargsf, kwnames); + PyObject *obj = PyObject_Vectorcall(alias->origin, args, nargsf, kwnames); return set_orig_class(obj, self); }