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

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

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

17441744

if (otherset == NULL)

17451745

return NULL;

17461746

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

1747-

if (rv == NULL)

1747+

if (rv == NULL) {

1748+

Py_DECREF(otherset);

17481749

return NULL;

1750+

}

17491751

Py_DECREF(rv);

17501752

return (PyObject *)otherset;

17511753

}