mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
Ensure ulStackSize is not overflow
This commit is contained in:
parent
fffed5e809
commit
2f1de70776
4
portable/ThirdParty/GCC/Posix/port.c
vendored
4
portable/ThirdParty/GCC/Posix/port.c
vendored
|
@ -169,7 +169,9 @@ StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack,
|
||||||
pxEndOfStack = ( StackType_t * ) mach_vm_round_page( pxEndOfStack );
|
pxEndOfStack = ( StackType_t * ) mach_vm_round_page( pxEndOfStack );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ulStackSize = ( size_t ) ( pxTopOfStack + 1 - pxEndOfStack ) * sizeof( *pxTopOfStack );
|
/* Ensure ulStackSize is not overflow */
|
||||||
|
ulStackSize = ( pxTopOfStack + 1 > pxEndOfStack ) ? ( pxTopOfStack + 1 - pxEndOfStack ) : ( pxEndOfStack - pxTopOfStack + 1);
|
||||||
|
ulStackSize = ( size_t ) ( ulStackSize ) * sizeof( *pxTopOfStack );
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
ulStackSize = mach_vm_trunc_page( ulStackSize );
|
ulStackSize = mach_vm_trunc_page( ulStackSize );
|
||||||
|
|
Loading…
Reference in a new issue