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))
|