bpo-33391: Fix refleak in set_symmetric_difference (GH-6670) · python/cpython@6a56790 (original) (raw)

File tree

2 files changed

lines changed

2 files changed

lines changed

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1 +Fix a leak in set_symmetric_difference().
Original file line number Diff line number Diff line change
@@ -1744,8 +1744,10 @@ set_symmetric_difference(PySetObject *so, PyObject *other)
1744 1744 if (otherset == NULL)
1745 1745 return NULL;
1746 1746 rv = set_symmetric_difference_update(otherset, (PyObject *)so);
1747 -if (rv == NULL)
1747 +if (rv == NULL) {
1748 +Py_DECREF(otherset);
1748 1749 return NULL;
1750 + }
1749 1751 Py_DECREF(rv);
1750 1752 return (PyObject *)otherset;
1751 1753 }