summaryrefslogtreecommitdiff
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
commit94e04aa62a60528799d2629bfae684578abf5551 (patch)
tree865f230a7911c003bda4b1b4e41ed237a0b1f9a0 /setuptools/command/bdist_egg.py
parent937635c83ccd6db771d6cc7ad65e5d70902ed315 (diff)
downloadpython-setuptools-bitbucket-94e04aa62a60528799d2629bfae684578abf5551.tar.gz
marshall.load() does not necessarily raise ValueError. Fixes #283.
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__']: