From dima@tejblum.dnttm.rssi.ru  Sat Jun 14 01:25:24 1997
Received: from helios.dnttm.ru (uutejb@[194.85.104.197])
          by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id BAA13626
          for <FreeBSD-gnats-submit@freebsd.org>; Sat, 14 Jun 1997 01:25:19 -0700 (PDT)
Received: (from uutejb@localhost)
	by helios.dnttm.ru (8.8.5/8.8.5/IP-3) with UUCP id MAA16798
	for FreeBSD-gnats-submit@freebsd.org; Sat, 14 Jun 1997 12:26:48 +0400
Received: (from dima@localhost)
	by tejblum.dnttm.rssi.ru (8.8.5/8.8.5) id MAA00728;
	Sat, 14 Jun 1997 12:17:47 +0400 (MSD)
Message-Id: <199706140817.MAA00728@tejblum.dnttm.rssi.ru>
Date: Sat, 14 Jun 1997 12:17:47 +0400 (MSD)
From: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
Reply-To: dima@tejblum.dnttm.rssi.ru
To: FreeBSD-gnats-submit@freebsd.org
Subject: Incorrect usage of err(3) in mount_union.c
X-Send-Pr-Version: 3.2

>Number:         3864
>Category:       bin
>Synopsis:       Incorrect usage of err(3) in mount_union.c
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    steve
>State:          closed
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jun 14 01:30:01 PDT 1997
>Closed-Date:    Sat Aug 23 14:26:04 PDT 1997
>Last-Modified:  Sat Aug 23 14:26:46 PDT 1997
>Originator:     Dmitrij Tejblum
>Release:        FreeBSD 3.0-CURRENT i386
>Organization:
>Environment:


>Description:

When mount() system call in mount_union.c fails, it call 
err(EX_OSERR, target). It is incorrect. First, target may contain '%'...
Second, the error may be related to source, not to target (for example,
"No such file or directory").

>How-To-Repeat:

dima@tejblum|/usr/home/dima>mount_union a%d b%d
mount_union: /usr/home/dima/a-272639828: No such file or directory
dima@tejblum|/usr/home/dima>mkdir misc
dima@tejblum|/usr/home/dima>mount_union misc b%d     
mount_union: /usr/home/dima/misc: No such file or directory
dima@tejblum|/usr/home/dima>


>Fix:

*** /usr/src/sbin/mount_union/mount_union.c	Sun May 25 12:18:27 1997
--- mount_union.c	Sat Jun 14 11:44:06 1997
***************
*** 127,133 ****
  		errx(EX_OSERR, "union filesystem is not available");
  
  	if (mount(vfc.vfc_name, source, mntflags, &args))
! 		err(EX_OSERR, target);
  	exit(0);
  }
  
--- 127,133 ----
  		errx(EX_OSERR, "union filesystem is not available");
  
  	if (mount(vfc.vfc_name, source, mntflags, &args))
! 		err(EX_OSERR, NULL);
  	exit(0);
  }
  

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: steve 
State-Changed-When: Sat Aug 23 14:26:04 PDT 1997 
State-Changed-Why:  
Similar fix applied to revision 1.10 of mount_union.c. 
>Unformatted:
