From f5905a012ed539286f33b10559b832da7babe1c5 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 (cherry picked from commit e852362bfdf9a18dfd91137f4a2d7c2dfee30082) --- 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 2b5a2c0ef4..460d7161c5 100644 --- a/lib/sqlalchemy/util/compat.py +++ b/lib/sqlalchemy/util/compat.py @@ -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) -- 2.47.3