summaryrefslogtreecommitdiffstats
path: root/Python/clinic/bltinmodule.c.h
diff options
context:
space:
mode:
Diffstat (limited to 'Python/clinic/bltinmodule.c.h')
-rw-r--r--Python/clinic/bltinmodule.c.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/Python/clinic/bltinmodule.c.h b/Python/clinic/bltinmodule.c.h
index 4fb06bd..8d40e65 100644
--- a/Python/clinic/bltinmodule.c.h
+++ b/Python/clinic/bltinmodule.c.h
@@ -329,10 +329,15 @@ builtin_compile(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObj
_PyArg_BadArgument("compile", "argument 'mode'", "str", args[2]);
goto exit;
}
- mode = PyUnicode_AsUTF8(args[2]);
+ Py_ssize_t mode_length;
+ mode = PyUnicode_AsUTF8AndSize(args[2], &mode_length);
if (mode == NULL) {
goto exit;
}
+ if (strlen(mode) != (size_t)mode_length) {
+ PyErr_SetString(PyExc_ValueError, "embedded null character");
+ goto exit;
+ }
if (!noptargs) {
goto skip_optional_pos;
}
@@ -1207,4 +1212,4 @@ builtin_issubclass(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
exit:
return return_value;
}
-/*[clinic end generated code: output=95d3813b1798f018 input=a9049054013a1b77]*/
+/*[clinic end generated code: output=31bded5d08647a57 input=a9049054013a1b77]*/