fix possible access to uninitialized memory in shgetc (via scanf)
[musl] / src / internal / shgetc.c
index a4a9c63..7455d2f 100644 (file)
@@ -32,6 +32,6 @@ int __shgetc(FILE *f)
        else
                f->shend = f->rend;
        f->shcnt = f->buf - f->rpos + cnt;
-       if (f->rpos[-1] != c) f->rpos[-1] = c;
+       if (f->rpos <= f->buf) f->rpos[-1] = c;
        return c;
 }