From b5b20f19e7191f50a88edadde217f64d8a58e192 Mon Sep 17 00:00:00 2001 From: Paul Bakker Date: Sun, 16 Sep 2012 15:07:49 +0000 Subject: [PATCH] - Extra sanity check for input added --- library/dhm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/library/dhm.c b/library/dhm.c index 4a5957162..90e5b4b19 100644 --- a/library/dhm.c +++ b/library/dhm.c @@ -128,6 +128,9 @@ int dhm_make_params( dhm_context *ctx, int x_size, size_t n1, n2, n3; unsigned char *p; + if( mpi_cmp_int( &ctx->P, 0 ) == 0 ) + return( POLARSSL_ERR_DHM_BAD_INPUT_DATA ); + /* * Generate X as large as possible ( < P ) */ @@ -211,6 +214,9 @@ int dhm_make_public( dhm_context *ctx, int x_size, if( ctx == NULL || olen < 1 || olen > ctx->len ) return( POLARSSL_ERR_DHM_BAD_INPUT_DATA ); + if( mpi_cmp_int( &ctx->P, 0 ) == 0 ) + return( POLARSSL_ERR_DHM_BAD_INPUT_DATA ); + /* * generate X and calculate GX = G^X mod P */