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: