diff options
author | Lukas Straub <lukasstraub2@web.de> | 2022-04-05 10:41:14 +0000 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-04-05 13:58:44 +0200 |
commit | 0210097879c0194477183b575867cf8c413a93ef (patch) | |
tree | f866a1824063870bf24ec7ffd670664ffd76f46d | |
parent | 4e0026dc8d8693aaf2caf8df6d657a116734e84e (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>
-rw-r--r-- | src/meta.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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; |