mirror of
https://github.com/python/cpython.git
synced 2025-07-19 09:15:34 +00:00
Issue #6697: Fix a crash if a keyword contains a surrogate
This commit is contained in:
parent
386fe71de1
commit
93b5513cf1
2 changed files with 23 additions and 6 deletions
|
@ -1755,18 +1755,21 @@ vgetargskeywords(PyObject *args, PyObject *keywords, const char *format,
|
|||
"keywords must be strings");
|
||||
return cleanreturn(0, freelist);
|
||||
}
|
||||
/* check that _PyUnicode_AsString() result is not NULL */
|
||||
ks = _PyUnicode_AsString(key);
|
||||
for (i = 0; i < len; i++) {
|
||||
if (!strcmp(ks, kwlist[i])) {
|
||||
match = 1;
|
||||
break;
|
||||
if (ks != NULL) {
|
||||
for (i = 0; i < len; i++) {
|
||||
if (!strcmp(ks, kwlist[i])) {
|
||||
match = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!match) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"'%s' is an invalid keyword "
|
||||
"'%U' is an invalid keyword "
|
||||
"argument for this function",
|
||||
ks);
|
||||
key);
|
||||
return cleanreturn(0, freelist);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue