mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
Fix traceMALLOC() allocated bytes (#1089)
* Fix traceMALLOC() memory count is inaccurate. (#1078) Modify xWantedSize to the size of a free block when not split blocks. Ensure that the sizes within traceMALLOC() and traceFREE() macros are equal. * Create a new variable xAllocatedBlockSize for traceMALLOC() --------- Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
This commit is contained in:
parent
663eaad1b2
commit
76eb443821
|
@ -256,6 +256,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* If this is the first call to malloc then the heap will require
|
/* If this is the first call to malloc then the heap will require
|
||||||
* initialisation to setup the list of free blocks. */
|
* initialisation to setup the list of free blocks. */
|
||||||
|
@ -374,6 +375,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned by
|
/* The block is being returned - it is allocated and owned by
|
||||||
* the application and has no "next" block. */
|
* the application and has no "next" block. */
|
||||||
secureheapALLOCATE_BLOCK( pxBlock );
|
secureheapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -394,7 +397,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
|
|
||||||
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -256,6 +256,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* If this is the first call to malloc then the heap will require
|
/* If this is the first call to malloc then the heap will require
|
||||||
* initialisation to setup the list of free blocks. */
|
* initialisation to setup the list of free blocks. */
|
||||||
|
@ -374,6 +375,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned by
|
/* The block is being returned - it is allocated and owned by
|
||||||
* the application and has no "next" block. */
|
* the application and has no "next" block. */
|
||||||
secureheapALLOCATE_BLOCK( pxBlock );
|
secureheapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -394,7 +397,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
|
|
||||||
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -256,6 +256,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* If this is the first call to malloc then the heap will require
|
/* If this is the first call to malloc then the heap will require
|
||||||
* initialisation to setup the list of free blocks. */
|
* initialisation to setup the list of free blocks. */
|
||||||
|
@ -374,6 +375,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned by
|
/* The block is being returned - it is allocated and owned by
|
||||||
* the application and has no "next" block. */
|
* the application and has no "next" block. */
|
||||||
secureheapALLOCATE_BLOCK( pxBlock );
|
secureheapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -394,7 +397,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
|
|
||||||
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -256,6 +256,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* If this is the first call to malloc then the heap will require
|
/* If this is the first call to malloc then the heap will require
|
||||||
* initialisation to setup the list of free blocks. */
|
* initialisation to setup the list of free blocks. */
|
||||||
|
@ -374,6 +375,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned by
|
/* The block is being returned - it is allocated and owned by
|
||||||
* the application and has no "next" block. */
|
* the application and has no "next" block. */
|
||||||
secureheapALLOCATE_BLOCK( pxBlock );
|
secureheapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -394,7 +397,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
|
|
||||||
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -256,6 +256,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* If this is the first call to malloc then the heap will require
|
/* If this is the first call to malloc then the heap will require
|
||||||
* initialisation to setup the list of free blocks. */
|
* initialisation to setup the list of free blocks. */
|
||||||
|
@ -374,6 +375,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned by
|
/* The block is being returned - it is allocated and owned by
|
||||||
* the application and has no "next" block. */
|
* the application and has no "next" block. */
|
||||||
secureheapALLOCATE_BLOCK( pxBlock );
|
secureheapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -394,7 +397,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
|
|
||||||
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -256,6 +256,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* If this is the first call to malloc then the heap will require
|
/* If this is the first call to malloc then the heap will require
|
||||||
* initialisation to setup the list of free blocks. */
|
* initialisation to setup the list of free blocks. */
|
||||||
|
@ -374,6 +375,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned by
|
/* The block is being returned - it is allocated and owned by
|
||||||
* the application and has no "next" block. */
|
* the application and has no "next" block. */
|
||||||
secureheapALLOCATE_BLOCK( pxBlock );
|
secureheapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -394,7 +397,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
|
|
||||||
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -256,6 +256,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* If this is the first call to malloc then the heap will require
|
/* If this is the first call to malloc then the heap will require
|
||||||
* initialisation to setup the list of free blocks. */
|
* initialisation to setup the list of free blocks. */
|
||||||
|
@ -374,6 +375,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned by
|
/* The block is being returned - it is allocated and owned by
|
||||||
* the application and has no "next" block. */
|
* the application and has no "next" block. */
|
||||||
secureheapALLOCATE_BLOCK( pxBlock );
|
secureheapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -394,7 +397,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
|
|
||||||
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -256,6 +256,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* If this is the first call to malloc then the heap will require
|
/* If this is the first call to malloc then the heap will require
|
||||||
* initialisation to setup the list of free blocks. */
|
* initialisation to setup the list of free blocks. */
|
||||||
|
@ -374,6 +375,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned by
|
/* The block is being returned - it is allocated and owned by
|
||||||
* the application and has no "next" block. */
|
* the application and has no "next" block. */
|
||||||
secureheapALLOCATE_BLOCK( pxBlock );
|
secureheapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -394,7 +397,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
|
|
||||||
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -256,6 +256,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* If this is the first call to malloc then the heap will require
|
/* If this is the first call to malloc then the heap will require
|
||||||
* initialisation to setup the list of free blocks. */
|
* initialisation to setup the list of free blocks. */
|
||||||
|
@ -374,6 +375,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned by
|
/* The block is being returned - it is allocated and owned by
|
||||||
* the application and has no "next" block. */
|
* the application and has no "next" block. */
|
||||||
secureheapALLOCATE_BLOCK( pxBlock );
|
secureheapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -394,7 +397,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
|
|
||||||
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -256,6 +256,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* If this is the first call to malloc then the heap will require
|
/* If this is the first call to malloc then the heap will require
|
||||||
* initialisation to setup the list of free blocks. */
|
* initialisation to setup the list of free blocks. */
|
||||||
|
@ -374,6 +375,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned by
|
/* The block is being returned - it is allocated and owned by
|
||||||
* the application and has no "next" block. */
|
* the application and has no "next" block. */
|
||||||
secureheapALLOCATE_BLOCK( pxBlock );
|
secureheapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -394,7 +397,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
|
|
||||||
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -256,6 +256,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* If this is the first call to malloc then the heap will require
|
/* If this is the first call to malloc then the heap will require
|
||||||
* initialisation to setup the list of free blocks. */
|
* initialisation to setup the list of free blocks. */
|
||||||
|
@ -374,6 +375,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned by
|
/* The block is being returned - it is allocated and owned by
|
||||||
* the application and has no "next" block. */
|
* the application and has no "next" block. */
|
||||||
secureheapALLOCATE_BLOCK( pxBlock );
|
secureheapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -394,7 +397,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
|
|
||||||
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -160,6 +160,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
if( xWantedSize > 0 )
|
if( xWantedSize > 0 )
|
||||||
{
|
{
|
||||||
|
@ -261,6 +262,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
|
|
||||||
xFreeBytesRemaining -= pxBlock->xBlockSize;
|
xFreeBytesRemaining -= pxBlock->xBlockSize;
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned
|
/* The block is being returned - it is allocated and owned
|
||||||
* by the application and has no "next" block. */
|
* by the application and has no "next" block. */
|
||||||
heapALLOCATE_BLOCK( pxBlock );
|
heapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -269,7 +272,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
}
|
}
|
||||||
( void ) xTaskResumeAll();
|
( void ) xTaskResumeAll();
|
||||||
|
|
||||||
|
|
|
@ -177,6 +177,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
if( xWantedSize > 0 )
|
if( xWantedSize > 0 )
|
||||||
{
|
{
|
||||||
|
@ -302,6 +303,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned
|
/* The block is being returned - it is allocated and owned
|
||||||
* by the application and has no "next" block. */
|
* by the application and has no "next" block. */
|
||||||
heapALLOCATE_BLOCK( pxBlock );
|
heapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -323,7 +326,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
}
|
}
|
||||||
( void ) xTaskResumeAll();
|
( void ) xTaskResumeAll();
|
||||||
|
|
||||||
|
|
|
@ -212,6 +212,7 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
BlockLink_t * pxNewBlockLink;
|
BlockLink_t * pxNewBlockLink;
|
||||||
void * pvReturn = NULL;
|
void * pvReturn = NULL;
|
||||||
size_t xAdditionalRequiredSize;
|
size_t xAdditionalRequiredSize;
|
||||||
|
size_t xAllocatedBlockSize = 0;
|
||||||
|
|
||||||
/* The heap must be initialised before the first call to
|
/* The heap must be initialised before the first call to
|
||||||
* pvPortMalloc(). */
|
* pvPortMalloc(). */
|
||||||
|
@ -330,6 +331,8 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAllocatedBlockSize = pxBlock->xBlockSize;
|
||||||
|
|
||||||
/* The block is being returned - it is allocated and owned
|
/* The block is being returned - it is allocated and owned
|
||||||
* by the application and has no "next" block. */
|
* by the application and has no "next" block. */
|
||||||
heapALLOCATE_BLOCK( pxBlock );
|
heapALLOCATE_BLOCK( pxBlock );
|
||||||
|
@ -351,7 +354,10 @@ void * pvPortMalloc( size_t xWantedSize )
|
||||||
mtCOVERAGE_TEST_MARKER();
|
mtCOVERAGE_TEST_MARKER();
|
||||||
}
|
}
|
||||||
|
|
||||||
traceMALLOC( pvReturn, xWantedSize );
|
traceMALLOC( pvReturn, xAllocatedBlockSize );
|
||||||
|
|
||||||
|
/* Prevent compiler warnings when trace macros are not used. */
|
||||||
|
( void ) xAllocatedBlockSize;
|
||||||
}
|
}
|
||||||
( void ) xTaskResumeAll();
|
( void ) xTaskResumeAll();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue