Make key file import robust against a PPK file that has somehow lost its
authorjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Sun, 23 Nov 2008 20:11:12 +0000 (20:11 +0000)
committerjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Sun, 23 Nov 2008 20:11:12 +0000 (20:11 +0000)
final newline. From Debian bug #414784, based on a patch by Justin Pryzby.

git-svn-id: svn://svn.tartarus.org/sgt/putty@8323 cda61777-01e9-0310-a592-d414129be87e

sshpubk.c

index f35febe..4536e85 100644 (file)
--- a/sshpubk.c
+++ b/sshpubk.c
@@ -495,16 +495,14 @@ static char *read_body(FILE * fp)
 
     while (1) {
        c = fgetc(fp);
-       if (c == '\r' || c == '\n') {
-           c = fgetc(fp);
-           if (c != '\r' && c != '\n' && c != EOF)
-               ungetc(c, fp);
+       if (c == '\r' || c == '\n' || c == EOF) {
+           if (c != EOF) {
+               c = fgetc(fp);
+               if (c != '\r' && c != '\n')
+                   ungetc(c, fp);
+           }
            return text;
        }
-       if (c == EOF) {
-           sfree(text);
-           return NULL;
-       }
        if (len + 1 >= size) {
            size += 128;
            text = sresize(text, size, char);