prevent CNAME/PTR parsing from reading data past the response end
[musl] / src / stdio / ext2.c
index afd8b34..3416278 100644 (file)
@@ -3,14 +3,13 @@
 
 size_t __freadahead(FILE *f)
 {
-       return f->rend - f->rpos;
+       return f->rend ? f->rend - f->rpos : 0;
 }
 
 const char *__freadptr(FILE *f, size_t *sizep)
 {
-       size_t size = f->rend - f->rpos;
-       if (!size) return 0;
-       *sizep = size;
+       if (f->rpos == f->rend) return 0;
+       *sizep = f->rend - f->rpos;
        return (const char *)f->rpos;
 }