[Python-checkins] cpython (merge 3.3 -> default): MERGE: #16112: platform.architecture does not correctly escape argument to

jesus.cea python-checkins at python.org
Fri Oct 5 05:37:20 CEST 2012


http://hg.python.org/cpython/rev/b9ac3c44a4eb
changeset:   79490:b9ac3c44a4eb
parent:      79484:e278f3ab0190
parent:      79489:64a0caf49429
user:        Jesus Cea <jcea at jcea.es>
date:        Fri Oct 05 05:32:10 2012 +0200
summary:
  MERGE: #16112: platform.architecture does not correctly escape argument to /usr/bin/file. Fix original patch

files:
  Lib/platform.py |  7 +++----
  1 files changed, 3 insertions(+), 4 deletions(-)


diff --git a/Lib/platform.py b/Lib/platform.py
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -924,13 +924,12 @@
         return default
     target = _follow_symlinks(target)
     try:
-        with open(DEV_NULL) as dev_null:
-            proc = subprocess.Popen(['file', '-b', '--', target],
-                     stdout=subprocess.PIPE, stderr=dev_null)
+        proc = subprocess.Popen(['file', target],
+                stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
 
     except (AttributeError,os.error):
         return default
-    output = proc.stdout.read()
+    output = proc.communicate()[0].decode('latin-1')
     rc = proc.wait()
     if not output or rc:
         return default

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list