Commit 15df36bb authored by Serhiy Storchaka's avatar Serhiy Storchaka

Issue #16404: Add checks for return value of PyInt_FromLong() in

sys.getwindowsversion() and ossaudiodev.setparameters().
Reported by Ned Batchelder.
parent 0585418b
......@@ -490,7 +490,6 @@ oss_setparameters(oss_audio_t *self, PyObject *args)
{
int wanted_fmt, wanted_channels, wanted_rate, strict=0;
int fmt, channels, rate;
PyObject * rv; /* return tuple (fmt, channels, rate) */
if (!PyArg_ParseTuple(args, "iii|i:setparameters",
&wanted_fmt, &wanted_channels, &wanted_rate,
......@@ -532,13 +531,7 @@ oss_setparameters(oss_audio_t *self, PyObject *args)
/* Construct the return value: a (fmt, channels, rate) tuple that
tells what the audio hardware was actually set to. */
rv = PyTuple_New(3);
if (rv == NULL)
return NULL;
PyTuple_SET_ITEM(rv, 0, PyInt_FromLong(fmt));
PyTuple_SET_ITEM(rv, 1, PyInt_FromLong(channels));
PyTuple_SET_ITEM(rv, 2, PyInt_FromLong(rate));
return rv;
return Py_BuildValue("(iii)", fmt, channels, rate);
}
static int
......
......@@ -616,6 +616,10 @@ sys_getwindowsversion(PyObject *self)
PyStructSequence_SET_ITEM(version, pos++, PyInt_FromLong(ver.wSuiteMask));
PyStructSequence_SET_ITEM(version, pos++, PyInt_FromLong(ver.wProductType));
if (PyErr_Occurred()) {
Py_DECREF(version);
return NULL;
}
return version;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment