components/python/python26/patches/Python26-29-recvfrom_into.patch
author John Beck <John.Beck@Oracle.COM>
Thu, 20 Feb 2014 11:35:57 -0800
branchs11-update
changeset 2959 436698adc770
permissions -rw-r--r--
18239867 problem in UTILITY/PYTHON
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2959
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     1
# Fix adapted from upstream: http://bugs.python.org/issue20246
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     2
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     3
--- Python-2.6.8/Modules/socketmodule.c	2014-02-12 15:21:37.045342837 -0800
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     4
+++ Python-2.6.8/Modules/socketmodule.c	2014-02-12 15:23:04.666145417 -0800
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     5
@@ -2635,6 +2635,13 @@
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     6
         recvlen = buflen;
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     7
     }
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     8
 
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     9
+    /* Check if the buffer is large enough */
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    10
+    if (buflen < recvlen) {
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    11
+        PyErr_SetString(PyExc_ValueError,
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    12
+                        "buffer too small for requested bytes");
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    13
+        return NULL;
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    14
+    }
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    15
+
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    16
     readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr);
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    17
     if (readlen < 0) {
436698adc770 18239867 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    18
         /* Return an error */