From 64a403c1534eb95f615cc3e599c5908dd319a638 Mon Sep 17 00:00:00 2001 From: Jesus Cea Date: Fri, 5 Oct 2012 04:58:38 +0200 Subject: #16112: platform.architecture does not correctly escape argument to /usr/bin/file. Use 'communicate()' and decode the bytes --- Lib/platform.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'Lib/platform.py') diff --git a/Lib/platform.py b/Lib/platform.py index 6776a2515d..f2dd5206e3 100755 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -997,12 +997,11 @@ def _syscmd_file(target,default=''): 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', '-b', '--', target], + stdout=subprocess.PIPE, stderr=dev_null) 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 -- cgit v1.2.1 From 202e19c82d654703d726c98d21d569176c9a0cb8 Mon Sep 17 00:00:00 2001 From: Jesus Cea Date: Fri, 5 Oct 2012 05:21:42 +0200 Subject: #16112: platform.architecture does not correctly escape argument to /usr/bin/file. Fix original patch --- Lib/platform.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Lib/platform.py') diff --git a/Lib/platform.py b/Lib/platform.py index f2dd5206e3..eedc11c518 100755 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -997,8 +997,8 @@ def _syscmd_file(target,default=''): return default target = _follow_symlinks(target) try: - 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.communicate()[0].decode("latin-1") -- cgit v1.2.1