-
- Downloads
RTOS: Unify wipe-out of thread list
Each RTOS implementation uses it's own (similar) code to free the thread list. There are some additional issues: <---> if (pointer != NULL) free(pointer); <---> This is not necessary, free(NULL) is perfectly ok. <---> free(rtos->thread_details); rtos->thread_details = NULL; rtos->thread_count = 0; <---> The 3rd line has been missing for all RTOS but ChibiOs. There are paths in the code where rtos->thread_count is never set to NULL, which can lead to null pointer dereference of rtos->thread_details. Change-Id: I6f7045c3d4518b925cb80dd5c907a566536b34ad Signed-off-by:Christian Eggers <ceggers@gmx.de> --- Changelog: v7: - rtos_wipe_threadlist() --> rtos_free_threadlist() - removed non related changes in gdb_server.c from this patch v3: - Removed world "topic" from first line of commit message v2: - typo: "whipe" --> "wipe" Reviewed-on: http://openocd.zylin.com/1916 Tested-by: jenkins Reviewed-by:
Spencer Oliver <spen@spen-soft.co.uk>
Showing
- src/rtos/ChibiOS.c 2 additions, 15 deletionssrc/rtos/ChibiOS.c
- src/rtos/FreeRTOS.c 1 addition, 19 deletionssrc/rtos/FreeRTOS.c
- src/rtos/ThreadX.c 1 addition, 19 deletionssrc/rtos/ThreadX.c
- src/rtos/eCos.c 1 addition, 19 deletionssrc/rtos/eCos.c
- src/rtos/embKernel.c 1 addition, 19 deletionssrc/rtos/embKernel.c
- src/rtos/rtos.c 17 additions, 0 deletionssrc/rtos/rtos.c
- src/rtos/rtos.h 1 addition, 0 deletionssrc/rtos/rtos.h
Loading
Please sign in to comment