From: Serhiy Storchaka Date: Sun, 19 Mar 2017 17:38:42 +0000 (+0200) Subject: bpo-29116: Improve error message for concatenating str with non-str. (#710) X-Git-Tag: v3.7.0a1~1104 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=004e03fb0c2febe2ec8afbd28ffcb3e980c63228;p=python bpo-29116: Improve error message for concatenating str with non-str. (#710) --- diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 503a59e1ef..1a696cc5c8 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 */