Message162620
| Author |
MOtter |
| Recipients |
MOtter |
| Date |
2012年06月11日.14:46:08 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1339425971.4.0.190872780402.issue15046@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
In the file socket_connection.c on line 139 a cast to Py_ssize_t is missing for the return value.
Is:
return res < 0 ? res : ulength;
Should be
return res < 0 ? (Py_ssize_t)res : (Py_ssize_t)ulength;
Now it can be possible that a close of the socket is not detected.
Found the bug by creating a server client that only sends the length of a data package and then closing the socket.
Without the cast the calling function (connection_recvbytes in connection.h) will try to return an object because of not detecting the result was smaller then 0. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2012年06月11日 14:46:11 | MOtter | set | recipients:
+ MOtter |
| 2012年06月11日 14:46:11 | MOtter | set | messageid: <1339425971.4.0.190872780402.issue15046@psf.upfronthosting.co.za> |
| 2012年06月11日 14:46:09 | MOtter | link | issue15046 messages |
| 2012年06月11日 14:46:08 | MOtter | create |
|