#16112: platform.architecture does not correctly escape argument to /usr/bin/file. Use 'communicate()'

This commit is contained in:
Jesus Cea 2012-10-05 04:50:17 +02:00
parent 45c0766c02
commit 69e7c9b1fd
1 changed files with 3 additions and 4 deletions

View File

@ -1045,13 +1045,12 @@ 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=subprocess.DEVNULL)
except (AttributeError,os.error):
return default
output = proc.stdout.read()
output = proc.communicate()[0]
rc = proc.wait()
if not output or rc:
return default