#16112: platform.architecture does not correctly escape argument to /usr/bin/file. Use 'communicate()' and decode the bytes
diff --git a/Lib/platform.py b/Lib/platform.py
index 6776a25..f2dd520 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -997,12 +997,11 @@
         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