]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - sshpubk.c
Tighten up a lot of casts from unsigned to int which are read by one
[PuTTY.git] / sshpubk.c
index bd3c5e47c4cc66b5661844155e9e35acffa392ce..72aaaa97a5384aaccdea5dc4af922005987a24b4 100644 (file)
--- a/sshpubk.c
+++ b/sshpubk.c
@@ -67,14 +67,15 @@ static int loadrsakey_main(FILE * fp, struct RSAKey *key, int pub_only,
     i += 4;
 
     /* Now the serious stuff. An ordinary SSH-1 public key. */
-    i += makekey(buf + i, len, key, NULL, 1);
-    if (i < 0)
+    = makekey(buf + i, len, key, NULL, 1);
+    if (j < 0)
        goto end;                      /* overran */
+    i += j;
 
     /* Next, the comment field. */
-    j = GET_32BIT(buf + i);
+    j = toint(GET_32BIT(buf + i));
     i += 4;
-    if (len - i < j)
+    if (j < 0 || len - i < j)
        goto end;
     comment = snewn(j + 1, char);
     if (comment) {