summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-gap/io/files/io-4.8.2-fix-failed-assertion.patch')
-rw-r--r--dev-gap/io/files/io-4.8.2-fix-failed-assertion.patch35
1 files changed, 35 insertions, 0 deletions
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 <caj21@st-andrews.ac.uk>
+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))