summaryrefslogtreecommitdiff
path: root/usr.bin/ssh
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2003-06-16 08:22:36 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2003-06-16 08:22:36 +0000
commit7e0eb2ae294b15c76c7246555e00d49db89b1532 (patch)
tree115232e42b77ff548ee980ffbf48a205b9a33f1c /usr.bin/ssh
parentf4fb20fba83a40f6cbc1953f195f979baeeb3740 (diff)
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')
-rw-r--r--usr.bin/ssh/ssh-rsa.c6
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) {