From e852362bfdf9a18dfd91137f4a2d7c2dfee30082 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 16 Dec 2022 14:05:48 -0500 Subject: [PATCH] dont call platform.architecture() 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 --- doc/build/changelog/unreleased_14/8995.rst | 9 +++++++++ lib/sqlalchemy/util/compat.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 doc/build/changelog/unreleased_14/8995.rst diff --git a/doc/build/changelog/unreleased_14/8995.rst b/doc/build/changelog/unreleased_14/8995.rst new file mode 100644 index 0000000000..5191b58de9 --- /dev/null +++ b/doc/build/changelog/unreleased_14/8995.rst @@ -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. diff --git a/lib/sqlalchemy/util/compat.py b/lib/sqlalchemy/util/compat.py index 6517e381cb..0f212fad52 100644 --- a/lib/sqlalchemy/util/compat.py +++ b/lib/sqlalchemy/util/compat.py @@ -41,7 +41,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) -- 2.47.2