mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 09:54:35 +00:00
![]() 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 <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> |
||
---|---|---|
.. | ||
basic | ||
coccinelle | ||
dtc | ||
kconfig | ||
.gitignore | ||
bin2c.c | ||
binutils-version.sh | ||
build-whitelist.sh | ||
build_OID_registry | ||
check-config.sh | ||
checkpatch.pl | ||
checkstack.pl | ||
cleanpatch | ||
coccicheck | ||
config_whitelist.txt | ||
const_structs.checkpatch | ||
coreboot.sed | ||
decodecode | ||
documentation-file-ref-check | ||
gcc-stack-usage.sh | ||
gcc-version.sh | ||
get_default_envs.sh | ||
get_maintainer.pl | ||
Kbuild.include | ||
Kconfig.include | ||
kernel-doc | ||
ld-version.sh | ||
Lindent | ||
mailmapper | ||
Makefile | ||
Makefile.autoconf | ||
Makefile.build | ||
Makefile.clean | ||
Makefile.extrawarn | ||
Makefile.host | ||
Makefile.lib | ||
Makefile.spl | ||
Makefile.uncmd_spl | ||
mkmakefile | ||
objdiff | ||
setlocalversion | ||
show-gnu-make | ||
spelling.txt |