diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/shared/startup/sbrk.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/startup/sbrk.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/startup/sbrk.c b/c/src/lib/libbsp/powerpc/shared/startup/sbrk.c index d2afc8e616..c74704a8ad 100644 --- a/c/src/lib/libbsp/powerpc/shared/startup/sbrk.c +++ b/c/src/lib/libbsp/powerpc/shared/startup/sbrk.c @@ -89,9 +89,10 @@ uint32_t _bsp_sbrk_init(uint32_t heap_start, uint32_t *heap_size_p) { uint32_t rval=0; + uint32_t orig_size; remaining_start = heap_start; - remaining_size = *heap_size_p; + orig_size = remaining_size = *heap_size_p; if (remaining_start < LIMIT_32M && remaining_start + remaining_size > LIMIT_32M) { @@ -105,7 +106,8 @@ _bsp_sbrk_init(uint32_t heap_start, uint32_t *heap_size_p) if ( 0 != &BSP_sbrk_policy ) { switch ( BSP_sbrk_policy ) { case (uint32_t)(-1): - remaining_start = heap_start + *heap_size_p; + remaining_start = heap_start + orig_size; + *heap_size_p = orig_size; remaining_size = 0; /* return a nonzero sbrk_amount because the libsupport code * at some point divides by this number prior to trying an |