forked from len0rd/rockbox
Add optional (define BUFFER_ALLOC_DEBUG to enable it) code to check for code overflowing buffer_alloc()-allocated buffers.
Also add a panicf() if buffer_alloc() doesn't have enough space left to allocate a requested buffer git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28173 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
927a7bdb4b
commit
8ff4f1aec9
3 changed files with 94 additions and 3 deletions
|
|
@ -27,6 +27,7 @@
|
|||
#include "kernel.h"
|
||||
#include "cpu.h"
|
||||
#include "string.h"
|
||||
#include "buffer.h"
|
||||
#ifdef RB_PROFILE
|
||||
#include <profile.h>
|
||||
#endif
|
||||
|
|
@ -1160,6 +1161,16 @@ void switch_thread(void)
|
|||
if (UNLIKELY(thread->stack[0] != DEADBEEF) && thread->stack_size > 0)
|
||||
thread_stkov(thread);
|
||||
|
||||
#ifdef BUFFER_ALLOC_DEBUG
|
||||
/* Check if the current thread just did bad things with buffer_alloc()ed
|
||||
* memory */
|
||||
{
|
||||
static char name[32];
|
||||
thread_get_name(name, 32, thread);
|
||||
buffer_alloc_check(name);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if NUM_CORES > 1
|
||||
/* Run any blocking operations requested before switching/sleeping */
|
||||
run_blocking_ops(core, thread);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue