]> andersk Git - openssh.git/commitdiff
- miod@cvs.openbsd.org 2003/09/18 13:02:21
authordtucker <dtucker>
Mon, 22 Sep 2003 11:05:50 +0000 (11:05 +0000)
committerdtucker <dtucker>
Mon, 22 Sep 2003 11:05:50 +0000 (11:05 +0000)
     [authfd.c bufaux.c dh.c mac.c ssh-keygen.c]
     A few signedness fixes for harmless situations; markus@ ok

ChangeLog
authfd.c
bufaux.c
dh.c
mac.c
ssh-keygen.c

index a1851c94742c25e05cac3ec8fbb0b5b067c9b730..9289bf3d73980fd97695d6222fbb2f92cd7dbe61 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -43,6 +43,9 @@
      [deattack.c misc.c session.c ssh-agent.c]
      more buffer allocation fixes; from Solar Designer; CAN-2003-0682;
      ok millert@
+   - miod@cvs.openbsd.org 2003/09/18 13:02:21
+     [authfd.c bufaux.c dh.c mac.c ssh-keygen.c]
+     A few signedness fixes for harmless situations; markus@ ok
 
 20030919
  - (djm) Bug #683: Remove reference to --with-ipv4-default from INSTALL;
index c78db6d9444397ca50b2002ac56990efa1413c4f..5fdf1ca3da97c5227ace1377520d2d47cf891ad8 100644 (file)
--- a/authfd.c
+++ b/authfd.c
@@ -35,7 +35,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: authfd.c,v 1.61 2003/06/28 16:23:06 deraadt Exp $");
+RCSID("$OpenBSD: authfd.c,v 1.62 2003/09/18 13:02:21 miod Exp $");
 
 #include <openssl/evp.h>
 
@@ -114,7 +114,8 @@ ssh_get_authentication_socket(void)
 static int
 ssh_request_reply(AuthenticationConnection *auth, Buffer *request, Buffer *reply)
 {
-       int l, len;
+       int l;
+       u_int len;
        char buf[1024];
 
        /* Get the length of the message, and format it in the buffer. */
@@ -147,7 +148,7 @@ ssh_request_reply(AuthenticationConnection *auth, Buffer *request, Buffer *reply
        /* Extract the length, and check it for sanity. */
        len = GET_32BIT(buf);
        if (len > 256 * 1024)
-               fatal("Authentication response too long: %d", len);
+               fatal("Authentication response too long: %u", len);
 
        /* Read the rest of the response in to the buffer. */
        buffer_clear(reply);
@@ -292,7 +293,7 @@ ssh_get_num_identities(AuthenticationConnection *auth, int version)
 
        /* Get the number of entries in the response and check it for sanity. */
        auth->howmany = buffer_get_int(&auth->identities);
-       if (auth->howmany > 1024)
+       if ((u_int)auth->howmany > 1024)
                fatal("Too many identities in authentication reply: %d",
                    auth->howmany);
 
index 37cc27ff64b2cf8e28144f7b5feb6626c5888b91..1df15b5483532233e87387088e036ab52864fd26 100644 (file)
--- a/bufaux.c
+++ b/bufaux.c
@@ -37,7 +37,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: bufaux.c,v 1.29 2003/04/08 20:21:28 itojun Exp $");
+RCSID("$OpenBSD: bufaux.c,v 1.30 2003/09/18 13:02:21 miod Exp $");
 
 #include <openssl/bn.h>
 #include "bufaux.h"
@@ -80,7 +80,7 @@ buffer_put_bignum(Buffer *buffer, BIGNUM *value)
 void
 buffer_get_bignum(Buffer *buffer, BIGNUM *value)
 {
-       int bits, bytes;
+       u_int bits, bytes;
        u_char buf[2], *bin;
 
        /* Get the number for bits. */
@@ -103,10 +103,10 @@ buffer_get_bignum(Buffer *buffer, BIGNUM *value)
 void
 buffer_put_bignum2(Buffer *buffer, BIGNUM *value)
 {
-       int bytes = BN_num_bytes(value) + 1;
+       u_int bytes = BN_num_bytes(value) + 1;
        u_char *buf = xmalloc(bytes);
        int oi;
-       int hasnohigh = 0;
+       u_int hasnohigh = 0;
 
        buf[0] = '\0';
        /* Get the value of in binary */
diff --git a/dh.c b/dh.c
index 996428b7fc8632aa0ff656e5268677342429c666..c924efee0d1678e95a1918255f7dc326462e9902 100644 (file)
--- a/dh.c
+++ b/dh.c
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: dh.c,v 1.24 2003/04/08 20:21:28 itojun Exp $");
+RCSID("$OpenBSD: dh.c,v 1.25 2003/09/18 13:02:21 miod Exp $");
 
 #include "xmalloc.h"
 
@@ -198,7 +198,7 @@ dh_gen_key(DH *dh, int need)
 
        if (dh->p == NULL)
                fatal("dh_gen_key: dh->p == NULL");
-       if (2*need >= BN_num_bits(dh->p))
+       if (need > INT_MAX / 2 || 2 * need >= BN_num_bits(dh->p))
                fatal("dh_gen_key: group too small: %d (2*need %d)",
                    BN_num_bits(dh->p), 2*need);
        do {
diff --git a/mac.c b/mac.c
index ab9a03d84e867379aa8386d9b1b4a137c9f14293..097f0b93bf87f08b7d5767a2153ea787a0515d3d 100644 (file)
--- a/mac.c
+++ b/mac.c
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: mac.c,v 1.5 2002/05/16 22:02:50 markus Exp $");
+RCSID("$OpenBSD: mac.c,v 1.6 2003/09/18 13:02:21 miod Exp $");
 
 #include <openssl/hmac.h>
 
@@ -77,7 +77,7 @@ mac_compute(Mac *mac, u_int32_t seqno, u_char *data, int datalen)
 
        if (mac->key == NULL)
                fatal("mac_compute: no key");
-       if (mac->mac_len > sizeof(m))
+       if ((u_int)mac->mac_len > sizeof(m))
                fatal("mac_compute: mac too long");
        HMAC_Init(&c, mac->key, mac->key_len, mac->md);
        PUT_32BIT(b, seqno);
index e74d3cd37e6d66d77329af586fcbdaa2d7f6d066..5b7bc400a327cc695139c87be759d9bac3a1723b 100644 (file)
@@ -12,7 +12,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: ssh-keygen.c,v 1.108 2003/08/14 16:08:58 markus Exp $");
+RCSID("$OpenBSD: ssh-keygen.c,v 1.109 2003/09/18 13:02:21 miod Exp $");
 
 #include <openssl/evp.h>
 #include <openssl/pem.h>
@@ -191,8 +191,8 @@ do_convert_to_ssh2(struct passwd *pw)
 static void
 buffer_get_bignum_bits(Buffer *b, BIGNUM *value)
 {
-       int bits = buffer_get_int(b);
-       int bytes = (bits + 7) / 8;
+       u_int bits = buffer_get_int(b);
+       u_int bytes = (bits + 7) / 8;
 
        if (buffer_len(b) < bytes)
                fatal("buffer_get_bignum_bits: input buffer too small: "
This page took 0.055334 seconds and 5 git commands to generate.