diff options
Diffstat (limited to 'Modules/ossaudiodev.c')
-rw-r--r-- | Modules/ossaudiodev.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Modules/ossaudiodev.c b/Modules/ossaudiodev.c index 50e266f087..b0a16dbf0d 100644 --- a/Modules/ossaudiodev.c +++ b/Modules/ossaudiodev.c @@ -115,7 +115,9 @@ newossobject(PyObject *arg) one open at a time. This does *not* affect later I/O; OSS provides a special ioctl() for non-blocking read/write, which is exposed via oss_nonblock() below. */ - if ((fd = open(devicename, imode|O_NONBLOCK)) == -1) { + fd = _Py_open(devicename, imode|O_NONBLOCK); + + if (fd == -1) { PyErr_SetFromErrnoWithFilename(PyExc_IOError, devicename); return NULL; } @@ -177,7 +179,8 @@ newossmixerobject(PyObject *arg) devicename = "/dev/mixer"; } - if ((fd = open(devicename, O_RDWR)) == -1) { + fd = _Py_open(devicename, O_RDWR); + if (fd == -1) { PyErr_SetFromErrnoWithFilename(PyExc_IOError, devicename); return NULL; } @@ -245,7 +248,7 @@ _do_ioctl_1(int fd, PyObject *args, char *fname, int cmd) int arg; assert(strlen(fname) <= 30); - strcat(argfmt, fname); + strncat(argfmt, fname, 30); if (!PyArg_ParseTuple(args, argfmt, &arg)) return NULL; @@ -270,7 +273,7 @@ _do_ioctl_1_internal(int fd, PyObject *args, char *fname, int cmd) int arg = 0; assert(strlen(fname) <= 30); - strcat(argfmt, fname); + strncat(argfmt, fname, 30); if (!PyArg_ParseTuple(args, argfmt, &arg)) return NULL; @@ -290,7 +293,7 @@ _do_ioctl_0(int fd, PyObject *args, char *fname, int cmd) int rv; assert(strlen(fname) <= 30); - strcat(argfmt, fname); + strncat(argfmt, fname, 30); if (!PyArg_ParseTuple(args, argfmt)) return NULL; |