diff options
author | 2003-06-16 08:22:35 +0000 | |
---|---|---|
committer | 2003-06-16 08:22:35 +0000 | |
commit | 36076c011ff089d5fee40bfd359fc0bc41d107f7 (patch) | |
tree | 0f677b63361868ca91c9c24a828c539df392257d /usr.bin/ssh/ssh-rsa.c | |
parent | - limited number of processes per systrace (diff) | |
download | wireguard-openbsd-36076c011ff089d5fee40bfd359fc0bc41d107f7.tar.xz wireguard-openbsd-36076c011ff089d5fee40bfd359fc0bc41d107f7.zip |
make sure the signature has at least the expected length (don't
insist on len == hlen + oidlen, since this breaks some smartcards)
bugzilla #592; ok djm@
Diffstat (limited to 'usr.bin/ssh/ssh-rsa.c')
-rw-r--r-- | usr.bin/ssh/ssh-rsa.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.bin/ssh/ssh-rsa.c b/usr.bin/ssh/ssh-rsa.c index efbc9e66496..db8e5e359f5 100644 --- a/usr.bin/ssh/ssh-rsa.c +++ b/usr.bin/ssh/ssh-rsa.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: ssh-rsa.c,v 1.28 2003/02/12 09:33:04 markus Exp $"); +RCSID("$OpenBSD: ssh-rsa.c,v 1.29 2003/06/16 08:22:35 markus Exp $"); #include <openssl/evp.h> #include <openssl/err.h> @@ -247,8 +247,8 @@ openssh_RSA_verify(int type, u_char *hash, u_int hashlen, ERR_error_string(ERR_get_error(), NULL)); goto done; } - if (len != hlen + oidlen) { - error("bad decrypted len: %d != %d + %d", len, hlen, oidlen); + if (len < hlen + oidlen) { + error("bad decrypted len: %d < %d + %d", len, hlen, oidlen); goto done; } if (memcmp(decrypted, oid, oidlen) != 0) { |