Remove largely useless bit of test log to silence GCC 12
GCC 12 emits a warning because it thinks `buffer1` is used after having been freed. The code is correct C because we're only using the value of `(uintptr_t)buffer1`, not `buffer1`. However, we aren't using the value for anything useful: it doesn't really matter if an alloc-free-alloc sequence returns the same address twice. So don't print that bit of information, and this way we don't need to save the old address. Fixes #5974. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
93a7f7d7f8
commit
0ff241a1ea
2 changed files with 3 additions and 5 deletions
2
ChangeLog.d/selftest-gcc12.txt
Normal file
2
ChangeLog.d/selftest-gcc12.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
Bugfix
|
||||
* Silence a warning from GCC 12 in the selftest program. Fixes #5974.
|
|
@ -84,7 +84,6 @@ static int calloc_self_test( int verbose )
|
|||
void *empty2 = mbedtls_calloc( 0, 1 );
|
||||
void *buffer1 = mbedtls_calloc( 1, 1 );
|
||||
void *buffer2 = mbedtls_calloc( 1, 1 );
|
||||
uintptr_t old_buffer1;
|
||||
|
||||
if( empty1 == NULL && empty2 == NULL )
|
||||
{
|
||||
|
@ -126,7 +125,6 @@ static int calloc_self_test( int verbose )
|
|||
mbedtls_printf( " CALLOC(1): passed\n" );
|
||||
}
|
||||
|
||||
old_buffer1 = (uintptr_t) buffer1;
|
||||
mbedtls_free( buffer1 );
|
||||
buffer1 = mbedtls_calloc( 1, 1 );
|
||||
if( buffer1 == NULL )
|
||||
|
@ -138,9 +136,7 @@ static int calloc_self_test( int verbose )
|
|||
else
|
||||
{
|
||||
if( verbose )
|
||||
mbedtls_printf( " CALLOC(1 again): passed (%s address)\n",
|
||||
(uintptr_t) old_buffer1 == (uintptr_t) buffer1 ?
|
||||
"same" : "different" );
|
||||
mbedtls_printf( " CALLOC(1 again): passed\n" );
|
||||
}
|
||||
|
||||
if( verbose )
|
||||
|
|
Loading…
Reference in a new issue