From 3b43d10fafd64ac0a93fab463330a936b90ec15c Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 17 Jun 2012 20:34:04 -0400 Subject: fdopen should set errno when it fails due to invalid mode string --- src/stdio/__fdopen.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/stdio/__fdopen.c b/src/stdio/__fdopen.c index 07f966a5..8bd51c66 100644 --- a/src/stdio/__fdopen.c +++ b/src/stdio/__fdopen.c @@ -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; -- cgit v1.2.1