Date: Sun, 26 Sep 1999 07:26:48 -0700 (PDT) From: Robert Webb <webbhead@best.com> To: FreeBSD-gnats-submit@freebsd.org Subject: bin/13980: Parameter expansion pattern removal bug in sh Message-ID: <199909261426.HAA11140@shell3.ba.best.com>
index | next in thread | raw e-mail
>Number: 13980
>Category: bin
>Synopsis: Parameter expansion pattern removal bug in sh
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Sep 26 11:10:01 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator: Robert Webb
>Release: FreeBSD 2.2.8-STABLE i386
>Organization:
RWC
>Environment:
FreeBSD 2.2.8-STABLE (BEST) #104: Sat Sep 4 16:02:26 PDT 1999
/kernel:
$Id: if_xl.c,v 1.5.2.17 1999/02/12 15:57:28 wpaul Exp $
/bin/sh:
$Id: alias.c,v 1.4.2.2 1998/11/03 15:57:34 cracauer Exp $
$Id: cd.c,v 1.6.2.2 1998/11/03 15:57:35 cracauer Exp $
$Id: error.c,v 1.5.2.4 1998/11/03 15:57:35 cracauer Exp $
$Id: eval.c,v 1.7.2.5 1998/11/03 15:57:35 cracauer Exp $
$Id: exec.c,v 1.6.2.2 1998/11/03 15:57:35 cracauer Exp $
$Id: expand.c,v 1.11.2.6 1998/11/03 15:57:35 cracauer Exp $
$Id: histedit.c,v 1.6.2.2 1998/11/03 15:57:35 cracauer Exp $
$Id: input.c,v 1.6.2.2 1998/11/03 15:57:35 cracauer Exp $
$Id: jobs.c,v 1.8.2.7 1998/11/03 15:57:35 cracauer Exp $
$Id: mail.c,v 1.3.2.2 1998/11/03 15:57:35 cracauer Exp $
$Id: main.c,v 1.9.2.3 1998/11/03 15:57:35 cracauer Exp $
$Id: memalloc.c,v 1.4.2.3 1998/11/03 15:57:36 cracauer Exp $
$Id: miscbltin.c,v 1.8.2.4 1998/11/03 15:57:36 cracauer Exp $
$Id: mystring.c,v 1.4.2.2 1998/11/03 15:57:36 cracauer Exp $
$Id: options.c,v 1.8.2.3 1998/11/03 15:57:36 cracauer Exp $
$Id: output.c,v 1.4.2.2 1998/11/03 15:57:36 cracauer Exp $
$Id: parser.c,v 1.16.2.2 1998/11/03 15:57:36 cracauer Exp $
$Id: redir.c,v 1.5.2.2 1998/11/03 15:57:36 cracauer Exp $
$Id: show.c,v 1.4.2.2 1998/11/03 15:57:37 cracauer Exp $
$Id: trap.c,v 1.4.2.7 1998/11/03 15:57:37 cracauer Exp $
$Id: var.c,v 1.6.2.2 1998/11/03 15:57:37 cracauer Exp $
$Id: arith.y,v 1.3.2.3 1998/11/03 15:57:35 cracauer Exp $
$Id: arith_lex.l,v 1.5.2.3 1998/11/03 15:57:35 cracauer Exp $
$Id: syscall.S,v 1.3 1996/05/05 07:56:21 peter Exp $
$Id: _setjmp.S,v 1.4.2.1 1998/11/04 08:42:01 tg Exp $
$Id: pipe.S,v 1.5 1996/08/20 08:20:03 julian Exp $
$Id: fork.S,v 1.5 1996/08/20 08:19:58 julian Exp $
$Id: setlocale.c,v 1.8.2.9 1998/04/30 16:50:34 ache Exp $
$Id: yplib.c,v 1.24.2.3 1997/04/10 20:29:35 wpaul Exp $
$Id: xdryp.c,v 1.6 1996/06/03 13:16:53 jraynard Exp $
$Id: index.S,v 1.2 1995/01/23 01:28:56 davidg Exp $
$Id: bcmp.S,v 1.2 1995/01/23 01:28:47 davidg Exp $
$Id: sigsuspend.S,v 1.4 1996/05/05 07:56:20 peter Exp $
$Id: strncmp.S,v 1.3 1995/01/23 01:29:21 davidg Exp $
$Id: strcpy.S,v 1.2 1995/01/23 01:29:17 davidg Exp $
$Id: strcmp.S,v 1.2 1995/01/23 01:29:14 davidg Exp $
$Id: strchr.S,v 1.2 1995/01/23 01:29:12 davidg Exp $
$Id: strcat.S,v 1.2 1995/01/23 01:29:09 davidg Exp $
$NetBSD: bcopy.S,v 1.6 1996/11/12 00:50:06 jtc Exp $
$Id: bzero.S,v 1.2 1995/01/23 01:28:52 davidg Exp $
$Id: isinf.c,v 1.3 1996/07/12 18:54:26 jkh Exp $
$Id: memchr.S,v 1.5 1995/01/23 01:28:58 davidg Exp $
$NetBSD: bcopy.S,v 1.6 1996/11/12 00:50:06 jtc Exp $
$Id: sigprocmask.S,v 1.4 1996/05/05 07:56:19 peter Exp $
$Id: brk.S,v 1.4 1996/06/25 18:54:42 bde Exp $
$Id: memset.S,v 1.2 1995/01/23 01:29:04 davidg Exp $
$NetBSD: bcopy.S,v 1.6 1996/11/12 00:50:06 jtc Exp $
$Id: sbrk.S,v 1.4 1996/05/05 07:56:16 peter Exp $
$Id: cerror.S,v 1.6.2.1 1998/11/04 08:42:01 tg Exp $
$Id: asprintf.c,v 1.1 1996/05/27 10:49:42 peter Exp $
$Id: vasprintf.c,v 1.3.4.1 1997/07/11 14:32:11 peter Exp $
$Id: yp.x,v 1.5 1996/02/26 02:22:53 wpaul Exp $
>Description:
The expansion of a Bourne shell parameter with a pattern to be removed
produces garbage characters in place of the removed pattern when the
pattern includes a slash, and the whole expansion string is quoted.
>How-To-Repeat:
Run this script:
#!/bin/sh
f=/tmp/user/wpage.html
echo '$f='$f
echo '${f%.*}='${f%.*}
echo '${f%/*}='${f%/*}
echo '${f%"/wpage.html"}='${f%"/wpage.html"}
echo ''
echo '"$f"='"$f"
echo '"${f%.*}"='"${f%.*}"
echo '"${f%/*}"='"${f%/*}"
echo '"${f%"/wpage.html"}"='"${f%"/wpage.html"}"
The last two echos output garbage in place of the trailing pattern
which was removed.
>Fix:
unknown
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909261426.HAA11140>
