diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index eaf2dce98..8c2e24ded 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2006-03-02 Corinna Vinschen + + * fhandler_disk_file.cc (__DIR_mounts::check_missing_mount): Check + cygdrive string length for those who have cygdrive mapped to "/". + 2006-03-01 Corinna Vinschen * sec_helper.cc (set_cygwin_privileges): Request SE_BACKUP_NAME diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index 84234c4a3..dc46cbcef 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -114,10 +114,13 @@ public: if (!found[__DIR_CYGDRIVE]) { found[__DIR_CYGDRIVE] = true; - strncpy (ret_name, mount_table->cygdrive + 1, - mount_table->cygdrive_len - 2); - ret_name[mount_table->cygdrive_len - 2] = '\0'; - return 2; + if (mount_table->cygdrive_len > 1) + { + strncpy (ret_name, mount_table->cygdrive + 1, + mount_table->cygdrive_len - 2); + ret_name[mount_table->cygdrive_len - 2] = '\0'; + return 2; + } } } return 0;