]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - misc.c
Fix an out-of-bounds read in fgetline().
[PuTTY.git] / misc.c
diff --git a/misc.c b/misc.c
index 618ca2971d0646fc7a889e4a65bd97edbad0b27f..0ce3d366824c24c472922eb681dbf1e12412aa4f 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -460,7 +460,7 @@ char *fgetline(FILE *fp)
     int size = 512, len = 0;
     while (fgets(ret + len, size - len, fp)) {
        len += strlen(ret + len);
-       if (ret[len-1] == '\n')
+       if (len > 0 && ret[len-1] == '\n')
            break;                     /* got a newline, we're done */
        size = len + 512;
        ret = sresize(ret, size, char);