diff options
Diffstat (limited to 'src/stdio/vfscanf.c')
| -rw-r--r-- | src/stdio/vfscanf.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/src/stdio/vfscanf.c b/src/stdio/vfscanf.c index 9e030fc4..b78a374d 100644 --- a/src/stdio/vfscanf.c +++ b/src/stdio/vfscanf.c @@ -57,7 +57,7 @@ int vfscanf(FILE *restrict f, const char *restrict fmt, va_list ap)  {  	int width;  	int size; -	int alloc; +	int alloc = 0;  	int base;  	const unsigned char *p;  	int c, t; @@ -76,6 +76,9 @@ int vfscanf(FILE *restrict f, const char *restrict fmt, va_list ap)  	FLOCK(f); +	if (!f->rpos) __toread(f); +	if (!f->rpos) goto input_fail; +  	for (p=(const unsigned char *)fmt; *p; p++) {  		alloc = 0;  | 
