]> git.ipfire.org Git - thirdparty/vim.git/commit
patch 9.1.0094: xxd: buffer-overflow when writing color output v9.1.0094
authorGoffredo Baroncelli <kreijack@inwind.it>
Sat, 10 Feb 2024 12:31:06 +0000 (13:31 +0100)
committerChristian Brabandt <cb@256bit.org>
Sat, 10 Feb 2024 12:31:06 +0000 (13:31 +0100)
commit00221487731ea1868c57259c7aa0eb713cd7ade7
treefa96747fc8a5f0c7796fe62964a7eae9e121c812
parent77078276bfe695070441a1bbdc02949d31de8922
patch 9.1.0094: xxd: buffer-overflow when writing color output

Problem:  xxd: buffer-overflow when writing color output
Solution: properly account for the color escape sequences and
          adjust LLEN macro
          (Goffredo Baroncelli)

xxd: crash with higer number of column

xxd writes the data into a buffer before printing. Unfortunately
the buffer doesn't consider the space consumed by the escape
sequences used to change the color of the character.

BEFORE:
$ xxd -Ralways -c 256 /etc/passwd
Segmentation fault (core dumped)

AFTER:
$ ./xxd -Ralways -c 256 /etc/passwd
00000000: 726f 6f74 3a78 3a30 3a30 3a72 6f6f 743a 2f72 [...]

To solve this issue I had to increase the size of the buffer
considering for each byte of data 11 further characters for the
color escape sequence.

closes: #14003

Signed-off-by: Goffredo Baroncelli <kreijack@libero.it>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/version.c
src/xxd/xxd.c