mirror of
https://github.com/neovim/neovim.git
synced 2025-09-28 14:08:32 +00:00
refactor: use flexible arrays instead of the length-of-one trick (#22072)
The "length-of-one" trick, where the last element of a struct is an array of size 1, but extra size is allocated when calling malloc where it uses more than 1 element in the array, cause problems with some compilers. Some compilers set _FORTIFY_SOURCE=2 by default which incorrectly considers it as an overflow. More information: https://github.com/neovim/neovim/issues/223#issuecomment-1413828554 Using flexible array members allows us to to properly convey to the compiler that its size may be larger than 1. This also enables us to remove lengthy workarounds that are unreliable, as they depend on CMAKE_BUILD_TYPE which isn't defined for multi-config generators. Closes: https://github.com/neovim/neovim/issues/223
This commit is contained in:
@@ -64,7 +64,7 @@ struct msgchunk_S {
|
||||
char sb_eol; // true when line ends after this text
|
||||
int sb_msg_col; // column in which text starts
|
||||
int sb_attr; // text attributes
|
||||
char sb_text[1]; // text to be displayed, actually longer
|
||||
char sb_text[]; // text to be displayed
|
||||
};
|
||||
|
||||
// Magic chars used in confirm dialog strings
|
||||
|
Reference in New Issue
Block a user