view pixmaps/tb_macro.xpm @ 35150:42f061099b39 v9.1.0404

patch 9.1.0404: [security] xxd: buffer-overflow with specific flags Commit: https://github.com/vim/vim/commit/67797191e039196128c69ba1538ccaf2a4711323 Author: Lennard Hofmann <lennard.hofmann@web.de> Date: Fri May 10 14:17:26 2024 +0200 patch 9.1.0404: [security] xxd: buffer-overflow with specific flags Problem: [security] xxd: buffer-overflow with specific flags Solution: Correctly calculate the required buffer space (Lennard Hofmann) xxd writes each output line into a global buffer before printing. The maximum size of that buffer was not calculated correctly. This command was crashing in AddressSanitizer: $ xxd -Ralways -g1 -c256 -d -o 9223372036854775808 /etc/passwd This prints a line of 6680 bytes but the buffer only had room for 6549 bytes. If the output from "-b" was colored, the line could be even longer. closes: #14738 Co-authored-by: K.Takata <kentkt@csc.jp> Signed-off-by: Lennard Hofmann <lennard.hofmann@web.de> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Fri, 10 May 2024 14:45:03 +0200
parents 3fc0f57ecb91
children
line wrap: on
line source

/* XPM */
static char * tb_macro_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"18 18 4 1 0 0",
/* colors */
" 	s none	m none	c none",
".	s iconColor1	m black	c #000000",
"X	s bottomShadowColor	m black	c #5D6069",
"o	s iconColor2	m none	c #FFFFFF",
/* pixels */
"       ..X        ",
"      .oo.X       ",
"     .oooo.X      ",
"     .oooo.X      ",
"      .oo.XX      ",
"       ..XX       ",
"   .....o.X       ",
"  .ooooooo.X      ",
"  .oooooooo.X     ",
"   .....ooo.X     ",
"      ..ooo.X     ",
"     .ooooo.X     ",
"    .ooooooo.X    ",
"   .ooo...ooo.X   ",
"  .ooo.XX..ooo.X  ",
"  .oo.XX  X.oo.X  ",
"   ...X    X...X  ",
"    XX       XXX  "};