Add 'exit' label and variable initialization to relevant test suite functions
diff --git a/tests/suites/test_suite_md.function b/tests/suites/test_suite_md.function
index 338f8af..ea92726 100644
--- a/tests/suites/test_suite_md.function
+++ b/tests/suites/test_suite_md.function
@@ -33,6 +33,9 @@
         TEST_ASSERT( md_process( &ctx, buf ) == 0 );
         md_free( &ctx );
     }
+
+exit:
+    md_free( &ctx );
 }
 /* END_CASE */
 
@@ -198,11 +201,13 @@
     TEST_ASSERT ( ctx.md_ctx != NULL );
     TEST_ASSERT ( 0 == md_update( &ctx, src_str, strlen( (char *) src_str ) ) );
     TEST_ASSERT ( 0 == md_finish( &ctx, output ) );
-    md_free( &ctx );
 
     hexify( hash_str, output, md_get_size(md_info) );
 
     TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
+
+exit:
+    md_free( &ctx );
 }
 /* END_CASE */
 
@@ -236,11 +241,13 @@
     TEST_ASSERT ( ctx.md_ctx != NULL );
     TEST_ASSERT ( 0 == md_update( &ctx, src_str, src_len ) );
     TEST_ASSERT ( 0 == md_finish( &ctx, output ) );
-    md_free( &ctx );
 
     hexify( hash_str, output, md_get_size(md_info) );
 
     TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
+
+exit:
+    md_free( &ctx );
 }
 /* END_CASE */
 
@@ -320,10 +327,12 @@
     TEST_ASSERT ( 0 == md_hmac_reset( &ctx ) );
     TEST_ASSERT ( 0 == md_hmac_update( &ctx, src_str, src_len ) );
     TEST_ASSERT ( 0 == md_hmac_finish( &ctx, output ) );
-    md_free( &ctx );
 
     hexify( hash_str, output, md_get_size(md_info) );
     TEST_ASSERT( strncmp( (char *) hash_str, hex_hash_string, trunc_size * 2 ) == 0 );
+
+exit:
+    md_free( &ctx );
 }
 /* END_CASE */