fix bug in dladdr that prevented resolving addresses in the PLT
[oweals/musl.git] / src / stdio / __uflow.c
index 544dda982dbf0abf4ae703825d91e84ffd2bd94a..e28922c2ff461a960c37501d6cbe298fe8ca68f4 100644 (file)
@@ -5,7 +5,7 @@
 
 int __uflow(FILE *f)
 {
-       unsigned char c = EOF;
-       if (f->rend || !__toread(f)) f->read(f, &c, 1);
-       return c;
+       unsigned char c;
+       if ((f->rend || !__toread(f)) && f->read(f, &c, 1)==1) return c;
+       return EOF;
 }