summaryrefslogtreecommitdiff
path: root/dev-gap/io/files/io-4.8.2-fix-failed-assertion.patch
blob: 059cc3387b2b3b49977873a4206eb387cd6631ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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))