Fix stdio redirection memory leak in test suites
diff --git a/tests/suites/helpers.function b/tests/suites/helpers.function
index 5938447..ff3ab99 100644
--- a/tests/suites/helpers.function
+++ b/tests/suites/helpers.function
@@ -140,6 +140,11 @@
return 0;
}
+
+static void close_output( FILE* stdout )
+{
+ fclose( stdout );
+}
#endif /* __unix__ || __APPLE__ __MACH__ */
static int unhexify( unsigned char *obuf, const char *ibuf )
diff --git a/tests/suites/main_test.function b/tests/suites/main_test.function
index 14209a5..afff5a4 100644
--- a/tests/suites/main_test.function
+++ b/tests/suites/main_test.function
@@ -261,7 +261,7 @@
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 @@
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 );
}