merge 3.5
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index 78cf398..82e640b 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -1091,6 +1091,10 @@
                           &date, &crc)) {
         return NULL;
     }
+    if (data_size < 0) {
+        PyErr_Format(ZipImportError, "negative data size");
+        return NULL;
+    }
 
     fp = _Py_fopen_obj(archive, "rb");
     if (!fp)