From: Christopher Faylor Date: Tue, 13 Jun 2000 16:48:37 +0000 (+0000) Subject: * path.cc (mount_info::add_item): The previous patch can't handle the case of X-Git-Tag: pre-cygwin-heap~192 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=024afd70d6454efb12c94eaa092ff1fbcd1d5030;p=newlib-cygwin.git * path.cc (mount_info::add_item): The previous patch can't handle the case of overwriting a mount entry. --- diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index eb6afc7ab..23db82bd6 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +Tue Jun 13 12:41:41 2000 Kazuhiro Fujieda + + * path.cc (mount_info::add_item): The previous patch can't handle + the case of overwriting a mount entry. + Tue Jun 13 00:17:04 2000 Christopher Faylor * thread.h: Shorten "current_directory" variables to "cwd_*" diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index f491be014..2b7e58be0 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -1645,13 +1645,15 @@ mount_info::add_item (const char *native, const char *posix, unsigned mountflags break; } - /* Can't add more than MAX_MOUNTS. */ - if (i == nmounts && nmounts < MAX_MOUNTS) - i = nmounts++; - else + if (i == nmounts) { - set_errno (EMFILE); - return -1; + if (nmounts < MAX_MOUNTS) + i = nmounts++; + else + { + set_errno (EMFILE); + return -1; + } } if (reg_p && add_reg_mount (nativetmp, posixtmp, mountflags))