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 );
}