From 0210097879c0194477183b575867cf8c413a93ef Mon Sep 17 00:00:00 2001 From: Lukas Straub Date: Tue, 5 Apr 2022 10:41:14 +0000 Subject: 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 Signed-off-by: Pablo Neira Ayuso --- src/meta.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/meta.c') 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; -- cgit v1.2.3