diff Modules/socketmodule.c @ 41313:d144f81574c0 legacy-trunk

Bug 1688393. Adds a control of negative values in socket.recvfrom, which caused an ugly crash.
author Facundo Batista <facundobatista@gmail.com>
date Wed, 28 Mar 2007 03:45:20 +0000
parents dc56789b29e9
children f86557e503f3
line wrap: on
line diff
--- a/Modules/socketmodule.c	Tue Mar 27 18:50:29 2007 +0000
+++ b/Modules/socketmodule.c	Wed Mar 28 03:45:20 2007 +0000
@@ -2391,7 +2391,7 @@
 
 	if (recvlen < 0) {
 		PyErr_SetString(PyExc_ValueError,
-				"negative buffersize in recv");
+				"negative buffersize in recv_into");
 		return NULL;
 	}
 	if (recvlen == 0) {
@@ -2507,6 +2507,12 @@
 	if (!PyArg_ParseTuple(args, "i|i:recvfrom", &recvlen, &flags))
 		return NULL;
 
+	if (recvlen < 0) {
+		PyErr_SetString(PyExc_ValueError,
+				"negative buffersize in recvfrom");
+		return NULL;
+	}
+
 	buf = PyString_FromStringAndSize((char *) 0, recvlen);
 	if (buf == NULL)
 		return NULL;
@@ -2560,7 +2566,7 @@
 
 	if (recvlen < 0) {
 		PyErr_SetString(PyExc_ValueError,
-				"negative buffersize in recv");
+				"negative buffersize in recvfrom_into");
 		return NULL;
 	}
 	if (recvlen == 0) {