dev-python/backports-zoneinfo: Backport segv fix for py3.8.7rc1+

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2020-12-21 10:16:09 +01:00
parent 486918e27f
commit 8ca3b6b71e
2 changed files with 28 additions and 0 deletions

View File

@@ -38,6 +38,12 @@ BDEPEND="
# pytest-subtests
distutils_enable_tests unittest
PATCHES=(
# fix segv in py3.8.7rc1+
# https://github.com/pganssle/zoneinfo/pull/97
"${FILESDIR}"/${P}-py38.patch
)
python_test() {
if [[ ${EPYTHON} == pypy3 ]]; then
# pypy3.6 does not support dataclasses, and the backport

View File

@@ -0,0 +1,22 @@
From 0e42cc3999b4e3833b5f3f41857b8c1e3c9143f3 Mon Sep 17 00:00:00 2001
From: Pablo Galindo <pablogsal@gmail.com>
Date: Mon, 21 Dec 2020 02:02:34 +0000
Subject: [PATCH] Decrement the refcount of _PyLong_One in the correct branch
---
lib/zoneinfo_module.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/zoneinfo_module.c b/lib/zoneinfo_module.c
index e0c72d3..07ef603 100644
--- a/lib/zoneinfo_module.c
+++ b/lib/zoneinfo_module.c
@@ -616,7 +616,7 @@ zoneinfo_fromutc(PyObject *obj_self, PyObject *dt)
Py_DECREF(args);
Py_DECREF(kwargs);
Py_DECREF(replace);
-#ifndef ATLEAST_37
+#ifdef ATLEAST_37
Py_DECREF(one);
#endif