mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tools/python: Fix memory leak on error path
Commit56a7aaa16bintroduced a memory leak on the error path for a Py_BuildValue built object that on some newly introduced error path has not the correct reference count handling, fix that by decrementing the refcount in these path. Fixes:56a7aaa16b("tools: add physinfo arch_capabilities handling for Arm") Signed-off-by: Luca Fancellu <luca.fancellu@arm.com> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
This commit is contained in:
1 parent
619fe8a261
commit
248fbb9ee2
1 file changed
+7
-2
@@ -919,11 +919,16 @@ static PyObject *pyxc_physinfo(XcObject *self)
|
||||
sve_vl_bits = arch_capabilities_arm_sve(pinfo.arch_capabilities);
|
||||
py_arm_sve_vl = PyLong_FromUnsignedLong(sve_vl_bits);
|
||||
|
||||
if ( !py_arm_sve_vl )
|
||||
if ( !py_arm_sve_vl ) {
|
||||
Py_DECREF(objret);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if( PyDict_SetItemString(objret, "arm_sve_vl", py_arm_sve_vl) )
|
||||
if( PyDict_SetItemString(objret, "arm_sve_vl", py_arm_sve_vl) ) {
|
||||
Py_DECREF(py_arm_sve_vl);
|
||||
Py_DECREF(objret);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||