On Thu, 11 Mar 2021 at 18:16, Sean Anderson <sean...@gmail.com> wrote: > > strn(cat|cpy) has a bad habit of not nul-terminating the destination, > resulting in constructions like > > strncpy(foo, bar, sizeof(foo) - 1); > foo[sizeof(foo) - 1] = '\0'; > > However, it is very easy to forget about this behavior and accidentally > leave a string unterminated. This has shown up in some recent coverity > scans [1, 2] (including code recently touched by yours truly). > > Fortunately, the guys at OpenBSD came up with strl(cat|cpy), which always > nul-terminate strings. These functions are already in U-Boot, so we should > encourage new code to use them instead of strn(cat|cpy). > > [1] https://lists.denx.de/pipermail/u-boot/2021-March/442888.html > [2] https://lists.denx.de/pipermail/u-boot/2021-January/438073.html > > Signed-off-by: Sean Anderson <sean...@gmail.com> > --- > > Changes in v2: > - Move check to u_boot_line > > scripts/checkpatch.pl | 6 ++++++ > tools/patman/test_checkpatch.py | 14 +++++++++++++- > 2 files changed, 19 insertions(+), 1 deletion(-)
Reviewed-by: Simon Glass <s...@chromium.org>