From: Thomas Heller Date: Thu, 7 Nov 2002 16:00:59 +0000 (+0000) Subject: Enforce valid filemode. Fixes SF Bug #623464. X-Git-Tag: v2.3c1~3532 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1f043e28f4d8cb4a32da3b07f3719647ba3078b2;p=thirdparty%2FPython%2Fcpython.git Enforce valid filemode. Fixes SF Bug #623464. --- diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 0cf00223c22b..9dc1d05d08ed 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -5048,6 +5048,12 @@ posix_fdopen(PyObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "i|si", &fd, &mode, &bufsize)) return NULL; + if (mode[0] != 'r' && mode[0] != 'w' && mode[0] != 'a') { + PyErr_Format(PyExc_ValueError, + "invalid file mode '%s'", mode); + return NULL; + } + Py_BEGIN_ALLOW_THREADS fp = fdopen(fd, mode); Py_END_ALLOW_THREADS