summaryrefslogtreecommitdiff
path: root/Objects/setobject.c
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2018-05-02 02:50:48 -0700
committerGitHub <noreply@github.com>2018-05-02 02:50:48 -0700
commit6a56790e0b50846f1f968e48c3a321c148b5e6cd (patch)
treea7c77073584bff62d457e097aee1f4c60928e8e8 /Objects/setobject.c
parent01e19f8fedb1e02476c4e42d387829135c9e76a1 (diff)
downloadcpython-git-6a56790e0b50846f1f968e48c3a321c148b5e6cd.tar.gz
bpo-33391: Fix refleak in set_symmetric_difference (GH-6670)
(cherry picked from commit 491bbedc209fea314a04cb3015da68fb0aa63238) Co-authored-by: lekma <lekmalek@gmail.com>
Diffstat (limited to 'Objects/setobject.c')
-rw-r--r--Objects/setobject.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 47db6b245c..ce35aa2a0c 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -1744,8 +1744,10 @@ set_symmetric_difference(PySetObject *so, PyObject *other)
if (otherset == NULL)
return NULL;
rv = set_symmetric_difference_update(otherset, (PyObject *)so);
- if (rv == NULL)
+ if (rv == NULL) {
+ Py_DECREF(otherset);
return NULL;
+ }
Py_DECREF(rv);
return (PyObject *)otherset;
}