Subject: bin/6182: umount -R dumps core
To: None <gnats-bugs@gnats.netbsd.org>
From: None <bds@snarf.thnet.com>
List: netbsd-bugs
Date: 09/20/1998 09:52:59
>Number: 6182
>Category: bin
>Synopsis: umount -R dumps core
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: bin-bug-people (Utility Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Sep 20 08:05:01 1998
>Last-Modified:
>Originator: Brett Slager
>Organization:
>Release: NetBSD-current Aug 30
>Environment:
System: NetBSD snarf.thnet.com 1.3G NetBSD 1.3G (SNARF) #0: Sun Aug 30 16:42:17 EST 1998 bds@snarf.thnet.com:/home/tortise/netbsd/src/sys/arch/i386/compile/SNARF i386
>Description:
umount -R dumps core
>How-To-Repeat:
Manage to get a stuffed entry into the mount table.
Use umount -R to remove it.
Notice that although it succeeds in unmounting the fs, it SEGVs.
>Fix:
*** /home/tortise/netbsd/src/sbin/umount/umount.c Fri Apr 17 06:10:17 1998
--- umount.c Sun Sep 20 09:44:38 1998
***************
*** 288,294 ****
return (1);
}
! if (!strncmp(type, MOUNT_NFS, MFSNAMELEN) &&
(hp != NULL) && !(fflag & MNT_FORCE)) {
*delimp = '\0';
memset(&saddr, 0, sizeof(saddr));
--- 288,294 ----
return (1);
}
! if (!raw && !strncmp(type, MOUNT_NFS, MFSNAMELEN) &&
(hp != NULL) && !(fflag & MNT_FORCE)) {
*delimp = '\0';
memset(&saddr, 0, sizeof(saddr));
>Audit-Trail:
>Unformatted: