Fix a possible "double decref" in termios.tcgetattr(). (GH-10194)
(cherry picked from commit 53835e92d315340444e3dd083b3f69a590b00e07)
Co-authored-by: Zackery Spytz <zspytz@gmail.com>
diff --git a/Modules/termios.c b/Modules/termios.c
index b4aa77f..7601b68 100644
--- a/Modules/termios.c
+++ b/Modules/termios.c
@@ -119,11 +119,11 @@
PyList_SetItem(v, 3, PyLong_FromLong((long)mode.c_lflag));
PyList_SetItem(v, 4, PyLong_FromLong((long)ispeed));
PyList_SetItem(v, 5, PyLong_FromLong((long)ospeed));
- PyList_SetItem(v, 6, cc);
- if (PyErr_Occurred()){
+ if (PyErr_Occurred()) {
Py_DECREF(v);
goto err;
}
+ PyList_SetItem(v, 6, cc);
return v;
err:
Py_DECREF(cc);