Files
gentoo/dev-python/setproctitle/files/setproctitle-1.3.7-py315.patch
Michał Górny cb2769cd96 dev-python/setproctitle: Enable testing on py3.15
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2026-07-04 20:35:32 +02:00

32 lines
1.0 KiB
Diff

From 68125abf821ee6ebfb4a4eb86ffe655a4c072c9e Mon Sep 17 00:00:00 2001
From: Victor Stinner <vstinner@python.org>
Date: Thu, 30 Oct 2025 15:12:24 +0100
Subject: [PATCH] fix: fix segfault after clearenv() on Python 3.15
Fix find_argv_from_env() if clearenv() has been called. Python 3.15
implements os.environ.clear() as clearenv().
Co-Authored-By: Karolina Surma <ksurma@redhat.com>
---
src/spt_setup.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/spt_setup.c b/src/spt_setup.c
index ba7a7a6..4078d36 100644
--- a/src/spt_setup.c
+++ b/src/spt_setup.c
@@ -139,6 +139,13 @@ find_argv_from_env(int argc, char *arg0)
}
buf[argc] = NULL;
+ /* environ can be NULL if clearenv() has been called.
+ * Python 3.15 implements os.environ.clear() as clearenv(). */
+ if (!environ) {
+ spt_debug("environ pointer is NULL");
+ goto exit;
+ }
+
/* Walk back from environ until you find argc-1 null-terminated strings.
* Don't look for argv[0] as it's probably not preceded by 0. */
ptr = environ[0];