diff options
author | 2001-06-23 05:26:02 +0000 | |
---|---|---|
committer | 2001-06-23 05:26:02 +0000 | |
commit | 06705ce07f6bf8e8749bbdb52085044b8edacebd (patch) | |
tree | 8d642af6770aa44adb23a3bccaf597a2da774aec /usr.bin/ssh/key.c | |
parent | Document LIST_REPLACE() (diff) | |
download | wireguard-openbsd-06705ce07f6bf8e8749bbdb52085044b8edacebd.tar.xz wireguard-openbsd-06705ce07f6bf8e8749bbdb52085044b8edacebd.zip |
handle sigature of size 0 (some broken clients send this).
Diffstat (limited to 'usr.bin/ssh/key.c')
-rw-r--r-- | usr.bin/ssh/key.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.bin/ssh/key.c b/usr.bin/ssh/key.c index 3b9f9f78621..84306a9b0d5 100644 --- a/usr.bin/ssh/key.c +++ b/usr.bin/ssh/key.c @@ -32,7 +32,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "includes.h" -RCSID("$OpenBSD: key.c,v 1.25 2001/04/17 10:53:24 markus Exp $"); +RCSID("$OpenBSD: key.c,v 1.26 2001/06/23 05:26:02 markus Exp $"); #include <openssl/evp.h> @@ -768,6 +768,9 @@ key_verify( u_char *signature, int signaturelen, u_char *data, int datalen) { + if (signaturelen == 0) + return -1; + switch(key->type){ case KEY_DSA: return ssh_dss_verify(key, signature, signaturelen, data, datalen); |