Skip to content
Prev Previous commit
Next Next commit
Improve the C implementation.
  • Loading branch information
serhiy-storchaka committed Dec 24, 2023
commit 8fcc89aafdf718e1db1c4a253032f4ca17df50c9
11 changes: 5 additions & 6 deletions Modules/_json.c
Original file line number Diff line number Diff line change
Expand Up @@ -1426,15 +1426,14 @@ encoder_listencode_obj(PyEncoderObject *s, _PyUnicodeWriter *writer,
}
}
newobj = PyObject_CallOneArg(s->defaultfn, obj);
if (newobj != NULL && Py_TYPE(newobj) == Py_TYPE(obj)) {
PyErr_SetString(PyExc_TypeError, "Default serialization function "
"returning same type");
Py_DECREF(newobj);
if (newobj == NULL) {
Py_XDECREF(ident);
return -1;
}

if (newobj == NULL) {
if (Py_TYPE(newobj) == Py_TYPE(obj)) {
PyErr_SetString(PyExc_TypeError, "Default serialization function "
"returning same type");
Py_DECREF(newobj);
Py_XDECREF(ident);
return -1;
}
Expand Down