changeset: 102688:4ca84a3e37d7 branch: 2.7 parent: 102683:85b35300f200 user: Benjamin Peterson date: Mon Aug 15 22:01:41 2016 -0700 files: Misc/NEWS Modules/_sre.c description: do not decref value borrowed from list (closes #27774) diff -r 85b35300f200 -r 4ca84a3e37d7 Misc/NEWS --- a/Misc/NEWS Mon Aug 15 21:40:14 2016 -0700 +++ b/Misc/NEWS Mon Aug 15 22:01:41 2016 -0700 @@ -29,6 +29,8 @@ Library ------- +- Issue #27774: Fix possible Py_DECREF on unowned object in _sre. + - Issue #27760: Fix possible integer overflow in binascii.b2a_qp. - In the curses module, raise an error if window.getstr() or window.instr() is diff -r 85b35300f200 -r 4ca84a3e37d7 Modules/_sre.c --- a/Modules/_sre.c Mon Aug 15 21:40:14 2016 -0700 +++ b/Modules/_sre.c Mon Aug 15 22:01:41 2016 -0700 @@ -3438,10 +3438,8 @@ if (!key) goto failed; value = match_getslice(self, key, def); - if (!value) { - Py_DECREF(key); + if (!value) goto failed; - } status = PyDict_SetItem(result, key, value); Py_DECREF(value); if (status < 0)