Kaydet (Commit) 0f46bbf7 authored tarafından Neal Norwitz's avatar Neal Norwitz

Bug #1346533, select.poll() doesn't raise an error if timeout > sys.maxint

Need to check return result of PyInt_AsLong()

Will backport.
üst 26f4c230
......@@ -168,5 +168,25 @@ def test_poll2():
p.close()
print 'Poll test 2 complete'
def test_poll3():
# test int overflow
print 'Running poll test 3'
pollster = select.poll()
pollster.register(1)
try:
pollster.poll(1L << 64)
except OverflowError:
pass
else:
print 'Expected OverflowError with excessive timeout'
x = 2 + 3
if x != 5:
print 'Overflow must have occurred'
print 'Poll test 3 complete'
test_poll1()
test_poll2()
test_poll3()
......@@ -177,6 +177,8 @@ Core and builtins
Extension Modules
-----------------
- Bug #1346533, select.poll() doesn't raise an error if timeout > sys.maxint
- Bug #1344508, Fix UNIX mmap leaking file descriptors
- Patch #1338314, Bug #1336623: fix tarfile so it can extract
......
......@@ -470,6 +470,8 @@ poll_poll(pollObject *self, PyObject *args)
return NULL;
timeout = PyInt_AsLong(tout);
Py_DECREF(tout);
if (timeout == -1 && PyErr_Occurred())
return NULL;
}
/* Ensure the ufd array is up to date */
......
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