summaryrefslogtreecommitdiffstats
path: root/src/meta.c
diff options
context:
space:
mode:
authorLukas Straub <lukasstraub2@web.de>2022-04-05 10:41:14 +0000
committerPablo Neira Ayuso <pablo@netfilter.org>2022-04-05 13:58:44 +0200
commit0210097879c0194477183b575867cf8c413a93ef (patch)
treef866a1824063870bf24ec7ffd670664ffd76f46d /src/meta.c
parent4e0026dc8d8693aaf2caf8df6d657a116734e84e (diff)
meta: time: use uint64_t instead of time_t
time_t may be 32 bit on some platforms and thus can't fit a timestamp with nanoseconds resolution. This causes overflows and ultimatively breaks meta time expressions on such platforms. Fix this by using uint64_t instead. Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1567 Fixes: f8f32deda31df ("meta: Introduce new conditions 'time', 'day' and 'hour'") Signed-off-by: Lukas Straub <lukasstraub2@web.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/meta.c')
-rw-r--r--src/meta.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/meta.c b/src/meta.c
index 23b1fd27..c0e2608d 100644
--- a/src/meta.c
+++ b/src/meta.c
@@ -444,7 +444,7 @@ static struct error_record *date_type_parse(struct parse_ctx *ctx,
struct expr **res)
{
const char *endptr = sym->identifier;
- time_t tstamp;
+ uint64_t tstamp;
if ((tstamp = parse_iso_date(sym->identifier)) != -1)
goto success;