commit:     b485329f34dcbaa270e68b2715bcab11b7104313
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  1 12:54:16 2024 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Thu Feb  1 12:54:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b485329f

dev-gap/io: backport fix for assertion failure

Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 .../io/files/io-4.8.2-fix-failed-assertion.patch   | 35 ++++++++++++++++++++++
 dev-gap/io/{io-4.8.2.ebuild => io-4.8.2-r1.ebuild} |  3 ++
 2 files changed, 38 insertions(+)

diff --git a/dev-gap/io/files/io-4.8.2-fix-failed-assertion.patch 
b/dev-gap/io/files/io-4.8.2-fix-failed-assertion.patch
new file mode 100644
index 000000000000..059cc3387b2b
--- /dev/null
+++ b/dev-gap/io/files/io-4.8.2-fix-failed-assertion.patch
@@ -0,0 +1,35 @@
+From edfbed91b1c98abbed7c57463b88a1e8e134f2c3 Mon Sep 17 00:00:00 2001
+From: Chris Jefferson <[email protected]>
+Date: Wed, 24 Jan 2024 11:18:09 +0800
+Subject: [PATCH] Check arguments to IO_gmtime and IO_localtime
+
+---
+ src/io.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/io.c b/src/io.c
+index 731880e..2a1536e 100644
+--- a/src/io.c
++++ b/src/io.c
+@@ -1777,6 +1777,10 @@ static Obj FuncIO_gmtime(Obj self, Obj time)
+     Obj         tmp;
+     time_t      t;
+     struct tm * s;
++    if (!IS_INT(time)) {
++        SyClearErrorNo();
++        return Fail;
++    }
+     if (!IS_INTOBJ(time)) {
+         tmp = QuoInt(time, INTOBJ_INT(256));
+         if (!IS_INTOBJ(tmp))
+@@ -1808,6 +1812,10 @@ static Obj FuncIO_localtime(Obj self, Obj time)
+     Obj         tmp;
+     time_t      t;
+     struct tm * s;
++    if (!IS_INT(time)) {
++        SyClearErrorNo();
++        return Fail;
++    }
+     if (!IS_INTOBJ(time)) {
+         tmp = QuoInt(time, INTOBJ_INT(256));
+         if (!IS_INTOBJ(tmp))

diff --git a/dev-gap/io/io-4.8.2.ebuild b/dev-gap/io/io-4.8.2-r1.ebuild
similarity index 89%
rename from dev-gap/io/io-4.8.2.ebuild
rename to dev-gap/io/io-4.8.2-r1.ebuild
index 06e9f54c7b67..46c12ae997e9 100644
--- a/dev-gap/io/io-4.8.2.ebuild
+++ b/dev-gap/io/io-4.8.2-r1.ebuild
@@ -16,6 +16,9 @@ IUSE="examples"
 DEPEND="sci-mathematics/gap:="
 RDEPEND="${DEPEND}"
 
+# backport, merged upstream already
+PATCHES=( "${FILESDIR}/${P}-fix-failed-assertion.patch" )
+
 gap-pkg_enable_tests
 
 src_prepare() {

Reply via email to