* dir.cc (opendir): Guarantee release of alloced fhandler structure on error.

This commit is contained in:
Christopher Faylor 2002-01-06 03:32:32 +00:00
parent fcb76c5dcb
commit 9125cbd7cf
2 changed files with 16 additions and 9 deletions

View File

@ -1,8 +1,13 @@
2001-01-05 Corinna Vinschen <corinna@vinschen.de>
2002-01-05 Christopher Faylor <cgf@redhat.com>
exceptions.cc (sig_handle): Set default action for SIGURG to SIG_IGN.
* dir.cc (opendir): Guarantee release of alloced fhandler structure on
error.
2001-01-05 Corinna Vinschen <corinna@vinschen.de>
2002-01-05 Corinna Vinschen <corinna@vinschen.de>
* exceptions.cc (sig_handle): Set default action for SIGURG to SIG_IGN.
2002-01-05 Corinna Vinschen <corinna@vinschen.de>
* dtable.cc (dtable::init_std_file_from_handle): Don't treat NULL
handle as errorneous.
@ -15,7 +20,7 @@
* dir.cc (opendir): Don't attempt to call sub-opendir if ENOENT.
2001-01-04 Corinna Vinschen <corinna@vinschen.de>
2002-01-04 Corinna Vinschen <corinna@vinschen.de>
* net.cc: Replace usage of AF_UNIX by Posix compliant AF_LOCAL
throughout.

View File

@ -88,14 +88,16 @@ opendir (const char *name)
PC_SYM_FOLLOW | PC_FULL, NULL);
if (!fh)
res = NULL;
else if (!pc.exists ())
set_errno (ENOENT);
else if (pc.exists ())
res = fh->opendir (pc);
else
{
res = fh->opendir (pc);
if (!res)
delete fh;
set_errno (ENOENT);
res = NULL;
}
if (!res && fh)
delete fh;
return res;
}