]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
lib: Fix a buffer underflow in _lldpctl_dump_in_atom
authorCliff Clark <Cliff_Clark@selinc.com>
Thu, 11 Apr 2024 21:48:13 +0000 (14:48 -0700)
committerVincent Bernat <vincent@bernat.ch>
Sat, 13 Apr 2024 07:44:59 +0000 (09:44 +0200)
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

index 04011d449ca973e4f2c126b5e528438ea2af7aa0..8842ee065cec2f84c877682e989897648fa8c5c6 100644 (file)
@@ -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;
 }