From 004e03fb0c2febe2ec8afbd28ffcb3e980c63228 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sun, 19 Mar 2017 19:38:42 +0200 Subject: bpo-29116: Improve error message for concatenating str with non-str. (#710) --- Objects/unicodeobject.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 503a59e..1a696cc 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -11282,7 +11282,16 @@ PyUnicode_Concat(PyObject *left, PyObject *right) Py_UCS4 maxchar, maxchar2; Py_ssize_t left_len, right_len, new_len; - if (ensure_unicode(left) < 0 || ensure_unicode(right) < 0) + if (ensure_unicode(left) < 0) + return NULL; + + if (!PyUnicode_Check(right)) { + PyErr_Format(PyExc_TypeError, + "can only concatenate str (not \"%.200s\") to str", + right->ob_type->tp_name); + return NULL; + } + if (PyUnicode_READY(right) < 0) return NULL; /* Shortcuts */ -- cgit v0.12