From 9654ca9431df64f924b86d3c298097027ae4edaf Mon Sep 17 00:00:00 2001 From: npt-1707 Date: Thu, 22 May 2025 23:28:39 +0800 Subject: [PATCH] Add addition overflow check for stream buffer in Software/VNA_embedded/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c --- .../Third_Party/FreeRTOS/Source/stream_buffer.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Software/VNA_embedded/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c b/Software/VNA_embedded/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c index c88e4ea..0f70bc0 100644 --- a/Software/VNA_embedded/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c +++ b/Software/VNA_embedded/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c @@ -254,8 +254,15 @@ static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStreamBuffer, this is a quirk of the implementation that means otherwise the free space would be reported as one byte smaller than would be logically expected. */ - xBufferSizeBytes++; - pucAllocatedMemory = ( uint8_t * ) pvPortMalloc( xBufferSizeBytes + sizeof( StreamBuffer_t ) ); /*lint !e9079 malloc() only returns void*. */ + if( xBufferSizeBytes < ( xBufferSizeBytes + 1 + sizeof( StreamBuffer_t ) ) ) + { + xBufferSizeBytes++; + pucAllocatedMemory = ( uint8_t * ) pvPortMalloc( xBufferSizeBytes + sizeof( StreamBuffer_t ) ); /*lint !e9079 malloc() only returns void*. */ + } + else + { + pucAllocatedMemory = NULL; + } if( pucAllocatedMemory != NULL ) {