From: Steve Dower Date: Sun, 12 Apr 2015 04:26:43 +0000 (-0400) Subject: Issue #23668: Suppresses invalid parameter handler around chsize calls. X-Git-Tag: v3.5.0a4~104 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a1c7e727c8fd9a9bf924ecc20c7d6892d19aa99e;p=python Issue #23668: Suppresses invalid parameter handler around chsize calls. --- diff --git a/Modules/_io/fileio.c b/Modules/_io/fileio.c index 186319bfdf..af93499cae 100644 --- a/Modules/_io/fileio.c +++ b/Modules/_io/fileio.c @@ -880,12 +880,14 @@ fileio_truncate(fileio *self, PyObject *args) } Py_BEGIN_ALLOW_THREADS + _Py_BEGIN_SUPPRESS_IPH errno = 0; #ifdef MS_WINDOWS ret = _chsize_s(fd, pos); #else ret = ftruncate(fd, pos); #endif + _Py_END_SUPPRESS_IPH Py_END_ALLOW_THREADS if (ret != 0) { diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index fcabadd2c8..82eae5eec4 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -8803,11 +8803,13 @@ os_ftruncate_impl(PyModuleDef *module, int fd, Py_off_t length) do { Py_BEGIN_ALLOW_THREADS + _Py_BEGIN_SUPPRESS_IPH #ifdef MS_WINDOWS result = _chsize_s(fd, length); #else result = ftruncate(fd, length); #endif + _Py_END_SUPPRESS_IPH Py_END_ALLOW_THREADS } while (result != 0 && errno == EINTR && !(async_err = PyErr_CheckSignals())); @@ -8843,6 +8845,7 @@ os_truncate_impl(PyModuleDef *module, path_t *path, Py_off_t length) return os_ftruncate_impl(module, path->fd, length); Py_BEGIN_ALLOW_THREADS + _Py_BEGIN_SUPPRESS_IPH #ifdef MS_WINDOWS if (path->wide) fd = _wopen(path->wide, _O_WRONLY | _O_BINARY | _O_NOINHERIT); @@ -8859,6 +8862,7 @@ os_truncate_impl(PyModuleDef *module, path_t *path, Py_off_t length) #else result = truncate(path->narrow, length); #endif + _Py_END_SUPPRESS_IPH Py_END_ALLOW_THREADS if (result < 0) return path_error(path);