summaryrefslogtreecommitdiff
path: root/Modules/clinic/symtablemodule.c.h
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2017-02-04 15:05:50 -0800
committerSteve Dower <steve.dower@microsoft.com>2017-02-04 15:05:50 -0800
commit3b0e4320092ac0504b6670cafaf0301b908c91fc (patch)
treed3be1b6b844d61763bb366fa21ceed475e5703fd /Modules/clinic/symtablemodule.c.h
parentb2fa705fd3887c326e811c418469c784353027f4 (diff)
parentf687fbcd73c14dfcbe086eb5cd94b298f1e81e72 (diff)
downloadcpython-3b0e4320092ac0504b6670cafaf0301b908c91fc.tar.gz
Issue #29392: Prevent crash when passing invalid arguments into msvcrt module.
Diffstat (limited to 'Modules/clinic/symtablemodule.c.h')
-rw-r--r--Modules/clinic/symtablemodule.c.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/Modules/clinic/symtablemodule.c.h b/Modules/clinic/symtablemodule.c.h
new file mode 100644
index 0000000000..126ee0b7f5
--- /dev/null
+++ b/Modules/clinic/symtablemodule.c.h
@@ -0,0 +1,39 @@
+/*[clinic input]
+preserve
+[clinic start generated code]*/
+
+PyDoc_STRVAR(_symtable_symtable__doc__,
+"symtable($module, str, filename, startstr, /)\n"
+"--\n"
+"\n"
+"Return symbol and scope dictionaries used internally by compiler.");
+
+#define _SYMTABLE_SYMTABLE_METHODDEF \
+ {"symtable", (PyCFunction)_symtable_symtable, METH_FASTCALL, _symtable_symtable__doc__},
+
+static PyObject *
+_symtable_symtable_impl(PyObject *module, const char *str,
+ PyObject *filename, const char *startstr);
+
+static PyObject *
+_symtable_symtable(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
+{
+ PyObject *return_value = NULL;
+ const char *str;
+ PyObject *filename;
+ const char *startstr;
+
+ if (!_PyArg_ParseStack(args, nargs, "sO&s:symtable",
+ &str, PyUnicode_FSDecoder, &filename, &startstr)) {
+ goto exit;
+ }
+
+ if (!_PyArg_NoStackKeywords("symtable", kwnames)) {
+ goto exit;
+ }
+ return_value = _symtable_symtable_impl(module, str, filename, startstr);
+
+exit:
+ return return_value;
+}
+/*[clinic end generated code: output=071dee4d836e2cfd input=a9049054013a1b77]*/