diff options
author | Matt Johnston <matt@ucc.asn.au> | 2006-07-07 09:17:18 +0000 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2006-07-07 09:17:18 +0000 |
commit | 25339e52b73197513312470bc4b2e2c6a40b4161 (patch) | |
tree | c8aea06b5bb0a4aca4e782d0bfadd17b481013e2 /dss.c | |
parent | 973f09885b6616e30ce1080e44bd79186e5bb35b (diff) | |
download | dropbear-25339e52b73197513312470bc4b2e2c6a40b4161.tar.gz |
Fixes from Erik Hovland:
cli-authpubkey.c:
fix leak of keybuf
cli-kex.c:
fix leak of fingerprint fp
cli-service.c:
remove commented out code
dropbearkey.c:
don't attepmt to free NULL key on failure
common-kex.c:
only free key if it is initialised
keyimport.c:
remove dead encrypted-key code
don't leak a FILE* loading OpenSSH keys
rsa.c, dss.c:
check return values for some libtommath functions
svr-kex.c:
check return value retrieving DH kex mpint
svr-tcpfwd.c:
fix null-dereference if remote tcp forward request fails
tcp-accept.c:
don't incorrectly free the tcpinfo var
Diffstat (limited to 'dss.c')
-rw-r--r-- | dss.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -338,7 +338,9 @@ void buf_put_dss_sign(buffer* buf, dss_key *key, const unsigned char* data, /* generate k */ m_mp_init(&dss_protok); bytes_to_mp(&dss_protok, proto_k, SHA512_HASH_SIZE); - mp_mod(&dss_protok, key->q, &dss_k); + if (mp_mod(&dss_protok, key->q, &dss_k) != MP_OKAY) { + dropbear_exit("dss error"); + } mp_clear(&dss_protok); m_burn(proto_k, SHA512_HASH_SIZE); #else /* DSS_PROTOK not defined*/ |