]> granicus.if.org Git - python/commit
Bug #876637, prevent stack corruption when socket descriptor
authorNeal Norwitz <nnorwitz@gmail.com>
Tue, 7 Feb 2006 07:04:46 +0000 (07:04 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Tue, 7 Feb 2006 07:04:46 +0000 (07:04 +0000)
commit082b2df33f4a916392dca2260fdcdd1cbe3a8329
tree74534a40daa21d4ca98584ce15a602cf9ef4d260
parent19cbcad20e3672ffe42e5710843f0df3de3f3b8c
Bug #876637, prevent stack corruption when socket descriptor
is larger than FD_SETSIZE.

This can only be acheived with ulimit -n SOME_NUMBER_BIGGER_THAN_FD_SETSIZE
which is typically only available to root.  Since this wouldn't normally
be run in a test (ie, run as root), it doesn't seem too worthwhile to
add a normal test.  The bug report has one version of a test.  I've
written another.  Not sure what the best thing to do is.

Do the check before calling internal_select() because we can't set
an error in between Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS.
This seemed the clearest solution, ie handle before calling internal_select()
rather than inside.  Plus there is at least one place outside
of internal_select() that needed to be handled.

Will backport.
Misc/NEWS
Modules/_ssl.c
Modules/socketmodule.c