components/python/python27/patches/25-zipimport.patch
author John Beck <John.Beck@Oracle.COM>
Mon, 13 Jun 2016 14:14:56 -0700
branchs11u3-sru
changeset 6185 0996b3bb223e
permissions -rw-r--r--
23571894 problem in UTILITY/PYTHON
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6185
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     1
This patch comes from upstream:
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     2
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     3
https://bugs.python.org/issue26171
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     4
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     5
--- a/Modules/zipimport.c
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     6
+++ b/Modules/zipimport.c
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     7
@@ -895,6 +895,11 @@ get_data(char *archive, PyObject *toc_en
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     8
         PyMarshal_ReadShortFromFile(fp);        /* local header size */
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
     9
     file_offset += l;           /* Start of file data */
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    10
 
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    11
+    if (data_size > LONG_MAX - 1) {
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    12
+        fclose(fp);
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    13
+        PyErr_NoMemory();
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    14
+        return NULL;
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    15
+    }
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    16
     raw_data = PyString_FromStringAndSize((char *)NULL, compress == 0 ?
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    17
                                           data_size : data_size + 1);
0996b3bb223e 23571894 problem in UTILITY/PYTHON
John Beck <John.Beck@Oracle.COM>
parents:
diff changeset
    18
     if (raw_data == NULL) {