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 | 4cb673b6440091fe0568918e22f3f2ca0d94bef2 (patch) | |
tree | c8aea06b5bb0a4aca4e782d0bfadd17b481013e2 /dss.c | |
parent | cee2ec168028b624a17df4b3574b57656861e807 (diff) |
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
--HG--
extra : convert_revision : 640a55bc710cbaa6d212453c750026c770e19193
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*/ |