aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/command/bdist_egg.py
diff options
context:
space:
mode:
authorStefan H. Holek <stefan@epy.co.at>2012-10-08 20:58:18 +0200
committerStefan H. Holek <stefan@epy.co.at>2012-10-08 20:58:18 +0200
commit9553dd9910df577351ea04bb1613767096beeca0 (patch)
tree11db42b2acbf0beef74b4886299d219f34c17635 /setuptools/command/bdist_egg.py
parent9eca33ff8e3664ac2f2127aadeb358d213745123 (diff)
downloadexternal_python_setuptools-9553dd9910df577351ea04bb1613767096beeca0.tar.gz
external_python_setuptools-9553dd9910df577351ea04bb1613767096beeca0.tar.bz2
external_python_setuptools-9553dd9910df577351ea04bb1613767096beeca0.zip
marshall.load() does not necessarily raise ValueError. Fixes #283.
--HG-- branch : distribute extra : rebase_source : 203cee618118fb65bf109d2db0275aa90aa5a12d
Diffstat (limited to 'setuptools/command/bdist_egg.py')
-rw-r--r--setuptools/command/bdist_egg.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/setuptools/command/bdist_egg.py b/setuptools/command/bdist_egg.py
index 0ee9c55b..17fae984 100644
--- a/setuptools/command/bdist_egg.py
+++ b/setuptools/command/bdist_egg.py
@@ -425,12 +425,12 @@ def scan_module(egg_dir, base, name, stubs):
return True # Extension module
pkg = base[len(egg_dir)+1:].replace(os.sep,'.')
module = pkg+(pkg and '.' or '')+os.path.splitext(name)[0]
- f = open(filename,'rb'); f.read(8) # skip magic & date
- try:
- code = marshal.load(f); f.close()
- except ValueError:
- f.seek(0); f.read(12) # skip magic & date & file size; file size added in Python 3.3
- code = marshal.load(f); f.close()
+ if sys.version_info < (3, 3):
+ skip = 8 # skip magic & date
+ else:
+ skip = 12 # skip magic & date & file size
+ f = open(filename,'rb'); f.read(skip)
+ code = marshal.load(f); f.close()
safe = True
symbols = dict.fromkeys(iter_symbols(code))
for bad in ['__file__', '__path__']: