X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/e7ca473e61abe08456d2cfc7eed9e118c950e884..3d5040f8f85f049cbb072a827a6184b4b4314b08:/sshpubk.c diff --git a/sshpubk.c b/sshpubk.c index 4db37c2b..ac9e0fa7 100644 --- a/sshpubk.c +++ b/sshpubk.c @@ -73,7 +73,7 @@ static int loadrsakey_main(FILE * fp, struct RSAKey *key, int pub_only, i += j; /* Next, the comment field. */ - j = GET_32BIT(buf + i); + j = toint(GET_32BIT(buf + i)); i += 4; if (j < 0 || len - i < j) goto end; @@ -463,7 +463,7 @@ static int read_header(FILE * fp, char *header) int len = 39; int c; - while (len > 0) { + while (1) { c = fgetc(fp); if (c == '\n' || c == '\r' || c == EOF) return 0; /* failure */ @@ -1008,6 +1008,8 @@ int ssh2_userkey_encrypted(const Filename *filename, char **commentptr) if (commentptr) *commentptr = comment; + else + sfree(comment); fclose(fp); if (!strcmp(b, "aes256-cbc"))