mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
ensure the attribute name string is initalized before using it (closes #16839)
This commit is contained in:
parent
5ca88d2b18
commit
6b3f8d375b
2 changed files with 9 additions and 1 deletions
|
@ -474,7 +474,7 @@ PyObject_Unicode(PyObject *v)
|
|||
PyObject *func;
|
||||
PyObject *str;
|
||||
int unicode_method_found = 0;
|
||||
static PyObject *unicodestr;
|
||||
static PyObject *unicodestr = NULL;
|
||||
|
||||
if (v == NULL) {
|
||||
res = PyString_FromString("<NULL>");
|
||||
|
@ -491,6 +491,11 @@ PyObject_Unicode(PyObject *v)
|
|||
if (PyInstance_Check(v)) {
|
||||
/* We're an instance of a classic class */
|
||||
/* Try __unicode__ from the instance -- alas we have no type */
|
||||
if (!unicodestr) {
|
||||
unicodestr = PyString_InternFromString("__unicode__");
|
||||
if (!unicodestr)
|
||||
return NULL;
|
||||
}
|
||||
func = PyObject_GetAttr(v, unicodestr);
|
||||
if (func != NULL) {
|
||||
unicode_method_found = 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue