Issue #9738, #9836: Fix refleak introduced by r84704
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index 0c23daa..aeac724 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -1397,7 +1397,7 @@
# non-ascii format, ascii argument
self.assertRaisesRegexp(ValueError,
'^PyUnicode_FromFormatV\(\) expects an ASCII-encoded format '
- 'string, got a non-ascii byte: 0xe9$',
+ 'string, got a non-ASCII byte: 0xe9$',
format_unicode, b'unicode\xe9=%s', 'ascii')
def test_main():
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 3b0a66a..92df1ce 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -767,9 +767,9 @@
else if (128 <= (unsigned char)*f) {
PyErr_Format(PyExc_ValueError,
"PyUnicode_FromFormatV() expects an ASCII-encoded format "
- "string, got a non-ascii byte: 0x%02x",
+ "string, got a non-ASCII byte: 0x%02x",
(unsigned char)*f);
- return NULL;
+ goto fail;
}
}
/* step 2: allocate memory for the results of