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.
This commit is contained in:
WangGaoJie 2024-06-11 09:38:27 +08:00
parent e64d1e06b3
commit 2d5c193a0f
14 changed files with 59 additions and 13 deletions

View file

@ -360,7 +360,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -396,6 +396,9 @@ void * pvPortMalloc( size_t xWantedSize )
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 ) #if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
{ {
if( pvReturn == NULL ) if( pvReturn == NULL )

View file

@ -360,7 +360,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -396,6 +396,9 @@ void * pvPortMalloc( size_t xWantedSize )
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 ) #if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
{ {
if( pvReturn == NULL ) if( pvReturn == NULL )

View file

@ -360,7 +360,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -396,6 +396,9 @@ void * pvPortMalloc( size_t xWantedSize )
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 ) #if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
{ {
if( pvReturn == NULL ) if( pvReturn == NULL )

View file

@ -360,7 +360,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -396,6 +396,9 @@ void * pvPortMalloc( size_t xWantedSize )
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 ) #if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
{ {
if( pvReturn == NULL ) if( pvReturn == NULL )

View file

@ -360,7 +360,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -396,6 +396,9 @@ void * pvPortMalloc( size_t xWantedSize )
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 ) #if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
{ {
if( pvReturn == NULL ) if( pvReturn == NULL )

View file

@ -360,7 +360,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -396,6 +396,9 @@ void * pvPortMalloc( size_t xWantedSize )
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 ) #if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
{ {
if( pvReturn == NULL ) if( pvReturn == NULL )

View file

@ -360,7 +360,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -396,6 +396,9 @@ void * pvPortMalloc( size_t xWantedSize )
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 ) #if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
{ {
if( pvReturn == NULL ) if( pvReturn == NULL )

View file

@ -360,7 +360,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -396,6 +396,9 @@ void * pvPortMalloc( size_t xWantedSize )
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 ) #if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
{ {
if( pvReturn == NULL ) if( pvReturn == NULL )

View file

@ -360,7 +360,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -396,6 +396,9 @@ void * pvPortMalloc( size_t xWantedSize )
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 ) #if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
{ {
if( pvReturn == NULL ) if( pvReturn == NULL )

View file

@ -360,7 +360,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -396,6 +396,9 @@ void * pvPortMalloc( size_t xWantedSize )
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 ) #if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
{ {
if( pvReturn == NULL ) if( pvReturn == NULL )

View file

@ -360,7 +360,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -396,6 +396,9 @@ void * pvPortMalloc( size_t xWantedSize )
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
#if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 ) #if ( secureconfigUSE_MALLOC_FAILED_HOOK == 1 )
{ {
if( pvReturn == NULL ) if( pvReturn == NULL )

View file

@ -258,6 +258,10 @@ void * pvPortMalloc( size_t xWantedSize )
* iterate to find the right place to insert new block. */ * iterate to find the right place to insert new block. */
prvInsertBlockIntoFreeList( ( pxNewBlockLink ) ); prvInsertBlockIntoFreeList( ( pxNewBlockLink ) );
} }
else
{
xWantedSize = pxBlock->xBlockSize;
}
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -270,6 +274,9 @@ void * pvPortMalloc( size_t xWantedSize )
} }
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
} }
( void ) xTaskResumeAll(); ( void ) xTaskResumeAll();

View file

@ -288,7 +288,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -324,6 +324,9 @@ void * pvPortMalloc( size_t xWantedSize )
} }
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
} }
( void ) xTaskResumeAll(); ( void ) xTaskResumeAll();

View file

@ -316,7 +316,7 @@ void * pvPortMalloc( size_t xWantedSize )
} }
else else
{ {
mtCOVERAGE_TEST_MARKER(); xWantedSize = pxBlock->xBlockSize;
} }
xFreeBytesRemaining -= pxBlock->xBlockSize; xFreeBytesRemaining -= pxBlock->xBlockSize;
@ -352,6 +352,9 @@ void * pvPortMalloc( size_t xWantedSize )
} }
traceMALLOC( pvReturn, xWantedSize ); traceMALLOC( pvReturn, xWantedSize );
/* Prevent compiler warnings when trace macros are not used. */
( void ) xWantedSize;
} }
( void ) xTaskResumeAll(); ( void ) xTaskResumeAll();