Changed entropy to be allocated from stack to heap in ssl_server2
diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c
index bfe8749..1bd4d66 100644
--- a/programs/ssl/ssl_server2.c
+++ b/programs/ssl/ssl_server2.c
@@ -1561,7 +1561,7 @@
 #if defined(MBEDTLS_X509_CRT_PARSE_C)
     mbedtls_x509_crt_profile crt_profile_for_test = mbedtls_x509_crt_profile_default;
 #endif
-    mbedtls_entropy_context entropy;
+    mbedtls_entropy_context *entropy = NULL;
 #if defined(MBEDTLS_CTR_DRBG_C)
     mbedtls_ctr_drbg_context *ctr_drbg = NULL;
 #else
@@ -2295,6 +2295,7 @@
 
     ssl         = mbedtls_calloc( 1, sizeof( *ssl ) );
     conf        = mbedtls_calloc( 1, sizeof( *conf ) );
+    entropy     = mbedtls_calloc( 1, sizeof( *entropy) );
 #if defined(MBEDTLS_X509_CRT_PARSE_C)
     cacert      = mbedtls_calloc( 1, sizeof( *cacert ) );
     srvcert     = mbedtls_calloc( 1, sizeof( *srvcert ) );
@@ -2324,7 +2325,7 @@
     mbedtls_net_init( &listen_fd );
     mbedtls_ssl_init( ssl );
     mbedtls_ssl_config_init( conf );
-    mbedtls_entropy_init( &entropy );
+    mbedtls_entropy_init( entropy );
 #if defined(MBEDTLS_CTR_DRBG_C)
     mbedtls_ctr_drbg_init( ctr_drbg );
 #else
@@ -2356,7 +2357,7 @@
     mbedtls_ssl_cookie_init( &cookie_ctx );
 #endif
 
-    if( ssl         == NULL ||
+    if( ssl         == NULL || conf     == NULL ||
 #if defined(MBEDTLS_X509_CRT_PARSE_C)
         cacert      == NULL || srvcert  == NULL ||
         pkey        == NULL || srvcert2 == NULL ||
@@ -2376,7 +2377,7 @@
 #else
         hmac_drbg   == NULL ||
 #endif
-        conf        == NULL)
+        entropy     == NULL)
     {
         mbedtls_printf( "Initial allocations failed!\n" );
         goto exit;
@@ -2508,7 +2509,7 @@
 
 #if defined(MBEDTLS_CTR_DRBG_C)
     if( ( ret = mbedtls_ctr_drbg_seed( ctr_drbg, mbedtls_entropy_func,
-                                       &entropy, (const unsigned char *) pers,
+                                       entropy, (const unsigned char *) pers,
                                        strlen( pers ) ) ) != 0 )
     {
         mbedtls_printf( " failed\n  ! mbedtls_ctr_drbg_seed returned -0x%x\n",
@@ -2520,7 +2521,7 @@
                                         mbedtls_md_info_from_type(
                                             available_hashes[0] ),
                                         mbedtls_entropy_func,
-                                        &entropy, (const unsigned char *) pers,
+                                        entropy, (const unsigned char *) pers,
                                         strlen( pers ) ) ) != 0 )
     {
         mbedtls_printf( " failed\n  ! mbedtls_ctr_drbg_seed returned -0x%x\n",
@@ -3977,7 +3978,7 @@
 #else
     mbedtls_hmac_drbg_free( hmac_drbg );
 #endif
-    mbedtls_entropy_free( &entropy );
+    mbedtls_entropy_free( entropy );
 
 #if defined(MBEDTLS_SSL_CACHE_C)
     mbedtls_ssl_cache_free( cache );
@@ -3999,6 +4000,7 @@
 
     mbedtls_free( ssl );
     mbedtls_free( conf );
+    mbedtls_free( entropy );
 #if defined(MBEDTLS_X509_CRT_PARSE_C)
     mbedtls_free( cacert );
     mbedtls_free( srvcert );