Skip to content

Commit

Permalink
pythongh-111789: Use PyDict_GetItemRef() in Python/bltinmodule.c (pyt…
Browse files Browse the repository at this point in the history
  • Loading branch information
serhiy-storchaka authored and Glyphack committed Jan 27, 2024
1 parent 2820a56 commit 0716aa5
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions Python/bltinmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
#include "pycore_call.h" // _PyObject_CallNoArgs()
#include "pycore_ceval.h" // _PyEval_Vector()
#include "pycore_compile.h" // _PyAST_Compile()
#include "pycore_dict.h" // _PyDict_GetItemWithError()
#include "pycore_long.h" // _PyLong_CompactValue
#include "pycore_modsupport.h" // _PyArg_NoKwnames()
#include "pycore_object.h" // _Py_AddToAllObjects()
Expand Down Expand Up @@ -141,18 +140,16 @@ builtin___build_class__(PyObject *self, PyObject *const *args, Py_ssize_t nargs,
goto error;
}

meta = _PyDict_GetItemWithError(mkw, &_Py_ID(metaclass));
if (PyDict_GetItemRef(mkw, &_Py_ID(metaclass), &meta) < 0) {
goto error;
}
if (meta != NULL) {
Py_INCREF(meta);
if (PyDict_DelItem(mkw, &_Py_ID(metaclass)) < 0) {
goto error;
}
/* metaclass is explicitly given, check if it's indeed a class */
isclass = PyType_Check(meta);
}
else if (PyErr_Occurred()) {
goto error;
}
}
if (meta == NULL) {
/* if there are no bases, use type: */
Expand Down

0 comments on commit 0716aa5

Please sign in to comment.