From: Lukas Straub Date: Tue, 5 Apr 2022 10:41:14 +0000 (+0000) Subject: meta: time: use uint64_t instead of time_t X-Git-Tag: v1.0.3~45 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0210097879;p=thirdparty%2Fnftables.git 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 --- 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;