nuttx-apps/testing/libc
dengwenqi 7043f96fef testing/libc/arch_libc: Fix out-of-bounds write in memmove test.
The adjacent overlap case in test_memmove() placed the source at a fixed
g_buf1 + align + 64 and the destination one size further, so the
destination tail reached align + 64 + 2 * size.  g_buf1 is only
TEST_BUF_SIZE + MAX_ALIGN (528) bytes, so the larger swept sizes ran off
the end: align=0 with size=255 writes up to offset 573, that is 46 bytes
past the object.  AddressSanitizer aborted arch_libctest with a
global-buffer-overflow.

Start the adjacent layout at g_buf1 + align instead.  The tail then
reaches align + 2 * size, which is at most 7 + 2 * 257 = 521 and stays
inside g_buf1 for every alignment and boundary size that is swept, while
still keeping source and destination exactly adjacent.

Impact: test only, selected by CONFIG_TESTING_ARCH_LIBC (default n).

Testing: built and ran sim:nsh on Linux x86_64 (Ubuntu 24.04,
gcc 13.3.0) with CONFIG_TESTING_ARCH_LIBC=y.  memmove reports PASSED
with no sanitizer report, and "arch_libc_test Passed".

Assisted-by: Claude:claude-opus-5
Signed-off-by: dengwenqi <dengwenqi@xiaomi.com>
2026-08-10 16:55:36 -03:00
..
arch_libc testing/libc/arch_libc: Fix out-of-bounds write in memmove test. 2026-08-10 16:55:36 -03:00
atomic apps/testing:fix uclibc atomic make.defs error 2025-03-03 16:03:13 +01:00
crctest crctest: Test the CRC library that the E2E depends on. 2026-01-22 19:51:51 +08:00
fmemopen apps/testing:move arch_libc, fmemopen, scanftest folders to the new lib folder 2025-01-22 17:18:30 +08:00
fopencookie testing/libc/fopencookie/fopencookie.c: fix spellcheck 2026-06-29 12:29:42 +02:00
open_memstream testing: Move crypto/setest to drivers and open_memstream to libc 2025-01-26 07:32:53 +01:00
popen testing/libc/popen: add popen/dpopen test for shell and no-shell modes 2026-06-02 23:35:28 +08:00
scanftest !testing/libc/scanftest: drop CONFIG_LIBC_LONG_LONG from help text 2026-05-11 17:38:32 +08:00
stdbit testing/libc: add stdbit test 2026-06-27 19:28:34 +08:00
wcstombs testing/libc/wcstombs: Add testing application for wcstombs 2025-02-06 23:41:31 +01:00
.gitignore apps/testing:move arch_libc, fmemopen, scanftest folders to the new lib folder 2025-01-22 17:18:30 +08:00
CMakeLists.txt apps/testing:move arch_libc, fmemopen, scanftest folders to the new lib folder 2025-01-22 17:18:30 +08:00
Make.defs apps/testing:move arch_libc, fmemopen, scanftest folders to the new lib folder 2025-01-22 17:18:30 +08:00
Makefile apps/testing:move arch_libc, fmemopen, scanftest folders to the new lib folder 2025-01-22 17:18:30 +08:00