* lib/open.c (rpl_open): Close fd before returning error.
* lib/fopen.c (rpl_fopen): Close fd before returning error.
* doc/posix-functions/open.texi (open): Document that Irix also
has the bug.
* doc/posix-functions/fopen.texi (fopen): Likewise.
Reported by Paolo Bonzini.
Signed-off-by: Eric Blake <ebb9@byu.net>
+2008-09-24 Eric Blake <ebb9@byu.net>
+
+ open, fopen: close fd leak in last patch
+ * lib/open.c (rpl_open): Close fd before returning error.
+ * lib/fopen.c (rpl_fopen): Close fd before returning error.
+ * doc/posix-functions/open.texi (open): Document that Irix also
+ has the bug.
+ * doc/posix-functions/fopen.texi (fopen): Likewise.
+ Reported by Paolo Bonzini.
+
2008-09-24 Bruno Haible <bruno@clisp.org>
Ensure that a filename ending in a slash cannot be used to access a
This function does not fail when the file name argument ends in a slash
and (without the slash) names a nonexistent file or a file that is not a
directory, on some platforms:
-HP-UX 11.00, Solaris 9.
+HP-UX 11.00, Solaris 9, Irix 5.3.
@item
On Windows platforms (excluding Cygwin), this function does usually not
recognize the @file{/dev/null} filename.
This function does not fail when the file name argument ends in a slash
and (without the slash) names a nonexistent file or a file that is not a
directory, on some platforms:
-HP-UX 11.00, Solaris 9.
+HP-UX 11.00, Solaris 9, Irix 5.3.
@item
On Windows platforms (excluding Cygwin), this function does usually not
recognize the @file{/dev/null} filename.
if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode))
{
+ close (fd);
errno = ENOTDIR;
return NULL;
}
if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode))
{
+ close (fd);
errno = ENOTDIR;
return -1;
}