From 56f881c5eaa3d8c02c96607c4b9e4eaf959a044d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20V=C3=A1rady?= <laszlo.varady@protonmail.com> Date: Sat, 20 Aug 2022 14:30:51 +0200 Subject: [PATCH] timeutils: fix out-of-bounds reading of data buffer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: László Várady <laszlo.varady@protonmail.com> --- lib/timeutils/scan-timestamp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/timeutils/scan-timestamp.c b/lib/timeutils/scan-timestamp.c index 125264677b..c00d8e6a96 100644 --- a/lib/timeutils/scan-timestamp.c +++ b/lib/timeutils/scan-timestamp.c @@ -431,7 +431,7 @@ __parse_bsd_timestamp(const guchar **data, gint *length, WallClockTime *wct) if (!scan_pix_timestamp((const gchar **) &src, &left, wct)) return FALSE; - if (*src == ':') + if (left && *src == ':') { src++; left--; @@ -482,7 +482,7 @@ scan_rfc3164_timestamp(const guchar **data, gint *length, WallClockTime *wct) * looking at you, skip that as well, so we can reliably detect IPv6 * addresses as hostnames, which would be using ":" as well. */ - if (*src == ':') + if (left && *src == ':') { ++src; --left;