Fix stdio redirection memory leak in test suites

This commit is contained in:
Simon Butcher 2016-10-12 23:07:30 +01:00
parent f6e3b9e8b2
commit edf2a3fba7
2 changed files with 11 additions and 1 deletions

View file

@ -140,6 +140,11 @@ static int restore_output( FILE** out_stream, int old_fd )
return 0;
}
static void close_output( FILE* stdout )
{
fclose( stdout );
}
#endif /* __unix__ || __APPLE__ __MACH__ */
static int unhexify( unsigned char *obuf, const char *ibuf )

View file

@ -261,7 +261,7 @@ int main(int argc, const char *argv[])
char buf[5000];
char *params[50];
void *pointer;
int stdout_fd = 0;
int stdout_fd = -1;
#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) && \
!defined(TEST_SUITE_MEMORY_BUFFER_ALLOC)
@ -499,6 +499,11 @@ int main(int argc, const char *argv[])
mbedtls_memory_buffer_alloc_free();
#endif
#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
if( stdout_fd != -1 )
close_output( stdout );
#endif /* __unix__ || __APPLE__ __MACH__ */
return( total_errors != 0 );
}