From: Guido van Rossum Date: Fri, 3 Aug 2007 22:27:51 +0000 (+0000) Subject: Get rid of a bogus assert when recv_into() is called with a zero-length X-Git-Tag: v3.0a1~535 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c2de7c03a05eb59ff03f07ea799d0c33abad6cc8;p=python Get rid of a bogus assert when recv_into() is called with a zero-length buffer. We just return 0 in this case now, like for all zero-length reads. --- diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index f6f577e090..d9e984486c 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -2193,6 +2193,10 @@ sock_recv_guts(PySocketSockObject *s, char* cbuf, int len, int flags) select_error(); return -1; } + if (len == 0) { + /* If 0 bytes were requested, do nothing. */ + return 0; + } #ifndef __VMS Py_BEGIN_ALLOW_THREADS @@ -2322,7 +2326,6 @@ sock_recv_into(PySocketSockObject *s, PyObject *args, PyObject *kwds) if (!PyArg_ParseTupleAndKeywords(args, kwds, "w#|ii:recv_into", kwlist, &buf, &buflen, &recvlen, &flags)) return NULL; - assert(buf != 0 && buflen > 0); if (recvlen < 0) { PyErr_SetString(PyExc_ValueError,