Avoid in-out length in dhm_calc_secret()
diff --git a/programs/pkey/dh_client.c b/programs/pkey/dh_client.c
index 21c3796..546b02e 100644
--- a/programs/pkey/dh_client.c
+++ b/programs/pkey/dh_client.c
@@ -243,8 +243,7 @@
     mbedtls_printf( "\n  . Shared secret: " );
     fflush( stdout );
 
-    n = dhm.len;
-    if( ( ret = mbedtls_dhm_calc_secret( &dhm, buf, &n,
+    if( ( ret = mbedtls_dhm_calc_secret( &dhm, buf, sizeof( buf ), &n,
                                  mbedtls_ctr_drbg_random, &ctr_drbg ) ) != 0 )
     {
         mbedtls_printf( " failed\n  ! mbedtls_dhm_calc_secret returned %d\n\n", ret );
diff --git a/programs/pkey/dh_server.c b/programs/pkey/dh_server.c
index 9ed6e36..81c0c9f 100644
--- a/programs/pkey/dh_server.c
+++ b/programs/pkey/dh_server.c
@@ -228,7 +228,6 @@
     fflush( stdout );
 
     memset( buf, 0, sizeof( buf ) );
-    n = dhm.len;
 
     if( ( ret = mbedtls_net_recv( &client_fd, buf, n ) ) != (int) n )
     {
@@ -248,7 +247,7 @@
     mbedtls_printf( "\n  . Shared secret: " );
     fflush( stdout );
 
-    if( ( ret = mbedtls_dhm_calc_secret( &dhm, buf, &n,
+    if( ( ret = mbedtls_dhm_calc_secret( &dhm, buf, sizeof( buf ), &n,
                                  mbedtls_ctr_drbg_random, &ctr_drbg ) ) != 0 )
     {
         mbedtls_printf( " failed\n  ! mbedtls_dhm_calc_secret returned %d\n\n", ret );
diff --git a/programs/test/benchmark.c b/programs/test/benchmark.c
index 6262d33..67797c6 100644
--- a/programs/test/benchmark.c
+++ b/programs/test/benchmark.c
@@ -646,15 +646,13 @@
 
             mbedtls_snprintf( title, sizeof( title ), "DHE-%d", dhm_sizes[i] );
             TIME_PUBLIC( title, "handshake",
-                    olen = sizeof( buf );
                     ret |= mbedtls_dhm_make_public( &dhm, (int) dhm.len, buf, dhm.len,
                                             myrand, NULL );
-                    ret |= mbedtls_dhm_calc_secret( &dhm, buf, &olen, myrand, NULL ) );
+                    ret |= mbedtls_dhm_calc_secret( &dhm, buf, sizeof( buf ), &olen, myrand, NULL ) );
 
             mbedtls_snprintf( title, sizeof( title ), "DH-%d", dhm_sizes[i] );
             TIME_PUBLIC( title, "handshake",
-                    olen = sizeof( buf );
-                    ret |= mbedtls_dhm_calc_secret( &dhm, buf, &olen, myrand, NULL ) );
+                    ret |= mbedtls_dhm_calc_secret( &dhm, buf, sizeof( buf ), &olen, myrand, NULL ) );
 
             mbedtls_dhm_free( &dhm );
         }