annotate pixmaps/tb_save.xpm @ 33422:25d250a74bb6 v9.0.1969

patch 9.0.1969: [security] buffer-overflow in trunc_string() Commit: https://github.com/vim/vim/commit/3bd7fa12e146c6051490d048a4acbfba974eeb04 Author: Christian Brabandt <cb@256bit.org> Date: Mon Oct 2 20:59:08 2023 +0200 patch 9.0.1969: [security] buffer-overflow in trunc_string() Problem: buffer-overflow in trunc_string() Solution: Add NULL at end of buffer Currently trunc_string() assumes that when the string is too long, buf[e-1] will always be writeable. But that assumption may not always be true. The condition currently looks like this else if (e + 3 < buflen) [...] else { // can't fit in the "...", just truncate it buf[e - 1] = NUL; } but this means, we may run into the last else clause with e still being larger than buflen. So a buffer overflow occurs. So instead of using `buf[e - 1]`, let's just always truncate at `buf[buflen - 1]` which should always be writable. Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Mon, 02 Oct 2023 21:30:04 +0200
parents 3fc0f57ecb91
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 /* XPM */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 static char * tb_save_xpm[] = {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 /* width height ncolors cpp [x_hot y_hot] */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 "18 18 5 1 0 0",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 /* colors */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 " s none m none c none",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 ". s iconColor1 m black c #000000",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 "X s iconGray2 m none c #bdbdbd",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 "o s iconColor2 m none c #FFFFFF",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 "O s bottomShadowColor m black c #5D6069",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 /* pixels */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 " ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 " .............. ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 " .X.oooooooo.o. ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 " .X.oooooooo...O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 " .X.oooooooo.X.O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 " .X.oooooooo.X.O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 " .X.oooooooo.X.O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 " .X.oooooooo.X.O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 " .XX........XX.O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 " .XXXXXXXXXXXX.O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 " .XX.........X.O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 " .XX......oo.X.O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 " .XX......oo.X.O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 " .XX......oo.X.O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 " .............O ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 " OOOOOOOOOOOOO ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 " ",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 " "};