- djm@cvs.openbsd.org 2005/06/17 02:44:33
[auth1.c] make this -Wsign-compare clean; ok avsm@ markus@
diff --git a/auth1.c b/auth1.c
index b7dfa98..0f6be82 100644
--- a/auth1.c
+++ b/auth1.c
@@ -10,7 +10,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: auth1.c,v 1.60 2005/05/20 12:57:01 djm Exp $");
+RCSID("$OpenBSD: auth1.c,v 1.61 2005/06/17 02:44:32 djm Exp $");
#include "xmalloc.h"
#include "rsa.h"
@@ -140,7 +140,7 @@
static int
auth1_process_rhosts_rsa(Authctxt *authctxt, char *info, size_t infolen)
{
- int authenticated = 0;
+ int keybits, authenticated = 0;
u_int bits;
Key *client_host_key;
u_int ulen;
@@ -158,7 +158,8 @@
packet_get_bignum(client_host_key->rsa->e);
packet_get_bignum(client_host_key->rsa->n);
- if (bits != BN_num_bits(client_host_key->rsa->n)) {
+ keybits = BN_num_bits(client_host_key->rsa->n);
+ if (keybits < 0 || bits != (u_int)keybits) {
verbose("Warning: keysize mismatch for client_host_key: "
"actual %d, announced %d",
BN_num_bits(client_host_key->rsa->n), bits);