commit | ea1cf870305ad46fae53d338474b6b13f7fe14d4 | [log] [tgz] |
---|---|---|
author | Xiang Zhang <angwerzx@126.com> | Thu Dec 22 15:30:47 2016 +0800 |
committer | Xiang Zhang <angwerzx@126.com> | Thu Dec 22 15:30:47 2016 +0800 |
tree | 592789379c32fd6f30e3afb1f526abb102cbf5c3 | |
parent | c67983b829ce00ad71ac016c200f5e16bfc493f6 [diff] [blame] |
Issue #29044: Fix a use-after-free in string '%c' formatter.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index ab261cc..5787830 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c
@@ -14213,11 +14213,12 @@ if (iobj == NULL) { goto onError; } - v = iobj; + x = PyLong_AsLong(iobj); Py_DECREF(iobj); } - /* Integer input truncated to a character */ - x = PyLong_AsLong(v); + else { + x = PyLong_AsLong(v); + } if (x == -1 && PyErr_Occurred()) goto onError;