nuttx/libs/libc/misc
George Poulios c4541a4d4c libc/idr: Remove nodes from RB trees during destroy
idr_destroy() would loop over the removed and alloced
RB tree nodes freeing them but not removing them from
the trees. From the perspective of the RB tree those
nodes would remain valid, while in fact, they were free
memory, potentially reallocated for other purposes, or
otherwise overwritten by the allocator with metadata.
This would cause (seemingly random) memory corruption
crashes triggered by the RB tree code trying to access
link fields from the free'd nodes.

Fix that by removing the nodes before freeing them.

Signed-off-by: George Poulios <gpoulios@census-labs.com>
2025-07-12 14:24:32 +08:00
..
CMakeLists.txt libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00
Kconfig libc/misc: fix typo error about misc/Kconfig 2025-05-14 15:02:17 +08:00
lib_backtrace.c libs: unify Private Types banners 2025-05-28 10:17:15 +08:00
lib_bitmap.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_circbuf.c
lib_crc8.c
lib_crc8ccitt.c
lib_crc8rohc.c
lib_crc8table.c
lib_crc16.c libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00
lib_crc16ccitt.c libs/libc/crc16: move crc16 table to rodata 2025-04-07 09:02:01 +08:00
lib_crc16ibm.c libs/libc/crc16: add support of CRC-16/ANSI(aka CRC-16/IBM) 2025-04-07 12:10:05 +08:00
lib_crc16xmodem.c libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00
lib_crc32.c
lib_crc64.c
lib_cxx_initialize.c
lib_debug.c
lib_dumpbuffer.c
lib_dumpvbuffer.c
lib_envpath.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_err.c
lib_fchmodat.c
lib_fdcheck.c libc/fdcheck: cause system to panic when a double close occurs 2025-05-14 15:02:17 +08:00
lib_fdsan.c
lib_fnmatch.c
lib_fstatat.c
lib_ftok.c
lib_getfullpath.c
lib_getnprocs.c
lib_getrandom.c
lib_glob.c libs: unify Private Types banners 2025-05-28 10:17:15 +08:00
lib_idr.c libc/idr: Remove nodes from RB trees during destroy 2025-07-12 14:24:32 +08:00
lib_impure.c
lib_instrument.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_kbddecode.c
lib_kbdencode.c
lib_mallopt.c
lib_memfd.c
lib_mkdirat.c
lib_mkfifo.c
lib_mknod.c
lib_mutex.c Clean up the nxmutex library 2025-05-08 16:00:05 +08:00
lib_ncompress.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_openat.c
lib_slcddecode.c
lib_slcdencode.c
lib_tea_decrypt.c
lib_tea_encrypt.c
lib_tempbuffer.c
lib_uadd32x64.c
lib_uadd64.c
lib_umask.c
lib_umul32.c
lib_umul32x64.c
lib_umul64.c
lib_usub64.c
lib_usub64x32.c
lib_utimensat.c
lib_utsname.c
lib_xorshift128.c
Make.defs libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00