]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
dont call platform.architecture()
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 16 Dec 2022 19:05:48 +0000 (14:05 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 17 Dec 2022 02:04:35 +0000 (21:04 -0500)
Fixed regression where the base compat module was calling upon
``platform.architecture()`` in order to detect some system properties,
which results in an over-broad system call against the system-level
``file`` call that is unavailable under some circumstances, including
within some secure environment configurations.

Fixes: #8995
Change-Id: Ib6171e75aff5a60a79dab81a0be21bee2456318b
(cherry picked from commit e852362bfdf9a18dfd91137f4a2d7c2dfee30082)

doc/build/changelog/unreleased_14/8995.rst [new file with mode: 0644]
lib/sqlalchemy/util/compat.py

diff --git a/doc/build/changelog/unreleased_14/8995.rst b/doc/build/changelog/unreleased_14/8995.rst
new file mode 100644 (file)
index 0000000..5191b58
--- /dev/null
@@ -0,0 +1,9 @@
+.. change::
+    :tags: bug, installation
+    :tickets: 8995
+
+    Fixed regression where the base compat module was calling upon
+    ``platform.architecture()`` in order to detect some system properties,
+    which results in an over-broad system call against the system-level
+    ``file`` call that is unavailable under some circumstances, including
+    within some secure environment configurations.
index 2b5a2c0ef42063c40fd77318034f622154e92e60..460d7161c5a793a33b8fd646bb284a964e6cdf58 100644 (file)
@@ -29,7 +29,7 @@ cpython = platform.python_implementation() == "CPython"
 win32 = sys.platform.startswith("win")
 osx = sys.platform.startswith("darwin")
 arm = "aarch" in platform.machine().lower()
-is64bit = platform.architecture()[0] == "64bit"
+is64bit = sys.maxsize > 2 ** 32
 
 has_refcount_gc = bool(cpython)