bpo-33391: Fix refleak in set_symmetric_difference (GH-6670) · python/cpython@d554699

File tree

2 files changed

lines changed

  • Misc/NEWS.d/next/Core and Builtins

2 files changed

lines changed

Original file line numberDiff line numberDiff line change

@@ -0,0 +1 @@

1+

Fix a leak in set_symmetric_difference().

Original file line numberDiff line numberDiff line change

@@ -1740,8 +1740,10 @@ set_symmetric_difference(PySetObject *so, PyObject *other)

17401740

if (otherset == NULL)

17411741

return NULL;

17421742

rv = set_symmetric_difference_update(otherset, (PyObject *)so);

1743-

if (rv == NULL)

1743+

if (rv == NULL) {

1744+

Py_DECREF(otherset);

17441745

return NULL;

1746+

}

17451747

Py_DECREF(rv);

17461748

return (PyObject *)otherset;

17471749

}