From 57690891ce1591d0f18b0604145eb9eb1c29183b Mon Sep 17 00:00:00 2001 From: Matt Johnston Date: Sat, 24 Jun 2017 10:32:33 +0800 Subject: [PATCH] test dss key parameter lengths exactly --- dss.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/dss.c b/dss.c index a3b4dce..9024b80 100644 --- a/dss.c +++ b/dss.c @@ -61,16 +61,14 @@ int buf_get_dss_pub_key(buffer* buf, dropbear_dss_key *key) { goto out; } - if (mp_count_bits(key->p) < DSS_P_BITS) { + if (mp_count_bits(key->p) != DSS_P_BITS) { dropbear_log(LOG_WARNING, "Bad DSS p"); - TRACE(("leave buf_get_dss_pub_key: short key")) ret = DROPBEAR_FAILURE; goto out; } - if (mp_count_bits(key->q) < DSS_Q_BITS) { + if (mp_count_bits(key->q) != DSS_Q_BITS) { dropbear_log(LOG_WARNING, "Bad DSS q"); - TRACE(("leave buf_get_dss_pub_key: short key")) ret = DROPBEAR_FAILURE; goto out; }