[Bug #835415] AIX can return modes that are >65536, which causes an OverflowError. Fix from Albert Chin
diff --git a/Lib/zipfile.py b/Lib/zipfile.py
index b1943c1..4f200c2 100644
--- a/Lib/zipfile.py
+++ b/Lib/zipfile.py
@@ -396,7 +396,7 @@
zinfo = ZipInfo(filename, date_time)
else:
zinfo = ZipInfo(arcname, date_time)
- zinfo.external_attr = st[0] << 16L # Unix attributes
+ zinfo.external_attr = (st[0] & 0xFFFF) << 16L # Unix attributes
if compress_type is None:
zinfo.compress_type = self.compression
else: