From f131aa876233feef1a215d9c975e295e66a11cc6 Mon Sep 17 00:00:00 2001 From: Cliff Clark Date: Thu, 11 Apr 2024 14:48:13 -0700 Subject: [PATCH] lib: Fix a buffer underflow in _lldpctl_dump_in_atom Do not write a zero byte before the beginning of the buffer when _lldpctl_dump_in_atom is called with a zero length atom. --- src/lib/atom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/atom.c b/src/lib/atom.c index 04011d44..8842ee06 100644 --- a/src/lib/atom.c +++ b/src/lib/atom.c @@ -649,7 +649,7 @@ _lldpctl_dump_in_atom(lldpctl_atom_t *atom, const uint8_t *input, size_t size, c snprintf(buffer + i * 3, 4, "%02x%c", *(u_int8_t *)(input + i), sep); if (max > 0 && size > max) snprintf(buffer + i * 3, sizeof(truncation) + 1, "%s", truncation); - else + else if (i > 0) *(buffer + i * 3 - 1) = 0; return buffer; } -- 2.39.5