From aa7712711d85ded84055d8deffa6177b7b763b0e Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 4 Oct 2012 02:32:58 +0200 Subject: [PATCH] unicode_result_wchar(): move the assert() to the "#ifdef Py_DEBUG" block --- Objects/unicodeobject.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 2481b96dda..98b10e9584 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -412,8 +412,6 @@ unicode_result_wchar(PyObject *unicode) #ifndef Py_DEBUG Py_ssize_t len; - assert(Py_REFCNT(unicode) == 1); - len = _PyUnicode_WSTR_LENGTH(unicode); if (len == 0) { Py_INCREF(unicode_empty); @@ -431,10 +429,12 @@ unicode_result_wchar(PyObject *unicode) } if (_PyUnicode_Ready(unicode) < 0) { - Py_XDECREF(unicode); + Py_DECREF(unicode); return NULL; } #else + assert(Py_REFCNT(unicode) == 1); + /* don't make the result ready in debug mode to ensure that the caller makes the string ready before using it */ assert(_PyUnicode_CheckConsistency(unicode, 1)); -- 2.50.1