From owner-freebsd-hackers Wed Aug 28 04:25:09 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id EAA20460 for hackers-outgoing; Wed, 28 Aug 1996 04:25:09 -0700 (PDT) Received: from mail0.iij.ad.jp (root@mail0.iij.ad.jp [192.244.176.61]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id EAA20451 for ; Wed, 28 Aug 1996 04:25:07 -0700 (PDT) Received: from uucp1.iij.ad.jp (uucp1.iij.ad.jp [192.244.176.73]) by mail0.iij.ad.jp (8.6.12+2.4W/3.3W9-MAIL) with ESMTP id UAA06731 for ; Wed, 28 Aug 1996 20:25:05 +0900 Received: (from uucp@localhost) by uucp1.iij.ad.jp (8.6.12+2.4W/3.3W9-UUCP) with UUCP id UAA07933 for freebsd-hackers@freebsd.org; Wed, 28 Aug 1996 20:25:05 +0900 Received: from xxx.fct.kgc.co.jp by yyy.kgc.co.jp (8.7.5/3.4W4:96080715) id TAA21738; Wed, 28 Aug 1996 19:30:19 +0900 (JST) Received: from localhost by xxx.fct.kgc.co.jp (8.7.5/3.3W8:95062916) id TAA00792; Wed, 28 Aug 1996 19:30:16 +0900 (JST) Message-Id: <199608281030.TAA00792@xxx.fct.kgc.co.jp> To: freebsd-hackers@freebsd.org Subject: mountd(8) bug? X-Mailer: Mew version 1.06 on Emacs 19.28.2, Mule 2.3 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Date: Wed, 28 Aug 1996 19:30:15 +0900 From: Toshihiro Kanda Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hello, hackers. I found that mountd(8) dumpes core by certain (bogus) exports file. For example: | $ uname -srm | FreeBSD 2.1.5-RELEASE i386 | $ cat /tmp/bogus-exoprts | /cdrom -network 192.168.1 192.168.8 | $ /sbin/mountd -d /tmp/bogus-exports | Getting export list. | Got line /cdrom -network 192.168.1 192.168.8 | Making new ep fs=0x400,0x1 | doing opt -network 192.168.1 192.168.8 | Segmentation fault (core dumped) I hope the following patch will fix this problem. New mountd now shows: | $ /usr/src/sbin/mountd/obj/mountd -d /tmp/bogus-export | Getting export list. | Got line /cdrom -network 192.168.1 192.168.8 | Making new ep fs=0x400,0x1 | doing opt -network 192.168.1 192.168.8 | got host 192.168.8 | Getting mount list. | Here we go. And syslogd(8) logs: | Aug 28 19:22:19 xxx mountd[723]: Bad exports list line /cdrom -network 192.168.1 192.168.8 Is this correct? candy@fct.kgc.co.jp (Toshihiro Kanda) ----------8<----------8<----------8<----------8<---------- *** mountd.c.orig Thu Jan 11 09:12:45 1996 --- mountd.c Wed Aug 28 18:15:00 1996 *************** *** 1346,1352 **** */ checkgrp = tgrp; while (checkgrp) { ! if (checkgrp->gr_ptr.gt_hostent != NULL && !strcmp(checkgrp->gr_ptr.gt_hostent->h_name, hp->h_name)) { grp->gr_type = GT_IGNORE; return(0); --- 1346,1353 ---- */ checkgrp = tgrp; while (checkgrp) { ! if (checkgrp->gr_type == GT_HOST && ! checkgrp->gr_ptr.gt_hostent != NULL && !strcmp(checkgrp->gr_ptr.gt_hostent->h_name, hp->h_name)) { grp->gr_type = GT_IGNORE; return(0); ----------8<----------8<----------8<----------8<----------