Adapt programs / test suites
diff --git a/programs/random/gen_random_ctr_drbg.c b/programs/random/gen_random_ctr_drbg.c
index ddd7737..94e200d 100644
--- a/programs/random/gen_random_ctr_drbg.c
+++ b/programs/random/gen_random_ctr_drbg.c
@@ -115,6 +115,7 @@
printf("\n");
fclose( f );
+ ctr_drbg_free( &ctr_drbg );
entropy_free( &entropy );
return( ret );
diff --git a/programs/random/gen_random_havege.c b/programs/random/gen_random_havege.c
index fd39411..e9152fa 100644
--- a/programs/random/gen_random_havege.c
+++ b/programs/random/gen_random_havege.c
@@ -48,7 +48,7 @@
{
FILE *f;
time_t t;
- int i, k;
+ int i, k, ret = 0;
havege_state hs;
unsigned char buf[1024];
@@ -73,8 +73,9 @@
if( havege_random( &hs, buf, sizeof( buf ) ) != 0 )
{
printf( "Failed to get random from source.\n" );
- fclose( f );
- return( 1 );
+
+ ret = 1;
+ goto exit;
}
fwrite( buf, sizeof( buf ), 1, f );
@@ -89,7 +90,9 @@
printf(" \n ");
+exit:
+ havege_free( &hs );
fclose( f );
- return( 0 );
+ return( ret );
}
#endif /* POLARSSL_HAVEGE_C */