fdopen should set errno when it fails due to invalid mode string

This commit is contained in:
Rich Felker 2012-06-17 20:34:04 -04:00
parent 57d5fff5f7
commit 3b43d10faf

View File

@ -7,7 +7,10 @@ FILE *__fdopen(int fd, const char *mode)
int plus = !!strchr(mode, '+');
/* Check for valid initial mode character */
if (!strchr("rwa", *mode)) return 0;
if (!strchr("rwa", *mode)) {
errno = EINVAL;
return 0;
}
/* Allocate FILE+buffer or fail */
if (!(f=malloc(sizeof *f + UNGET + BUFSIZ))) return 0;