From owner-man-jp@jp.FreeBSD.org Sat Jan 26 12:24:09 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g0Q3O9x49246;
	Sat, 26 Jan 2002 12:24:09 +0900 (JST)
	(envelope-from owner-man-jp@jp.FreeBSD.org)
Received: from r-hh.iij4u.or.jp (r-hh.iij4u.or.jp [210.130.0.72])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g0Q3O9649241
	for <man-jp@jp.FreeBSD.org>; Sat, 26 Jan 2002 12:24:09 +0900 (JST)
	(envelope-from moriko@hh.iij4u.or.jp)
Received: from ruriruri.noe.mcu.or.jp (2.41.138.210.xn.2iij.net [210.138.41.2])
	by r-hh.iij4u.or.jp (8.11.6+IIJ/8.11.6) with ESMTP id g0Q3O8M16725
	for <man-jp@jp.FreeBSD.org>; Sat, 26 Jan 2002 12:24:09 +0900 (JST)
Received: from localhost ([192.168.0.250])
	by ruriruri.noe.mcu.or.jp (8.11.6/8.11.6) with ESMTP id g0Q3O7k79801;
	Sat, 26 Jan 2002 12:24:07 +0900 (JST)
	(envelope-from moriko@hh.iij4u.or.jp)
Date: Sat, 26 Jan 2002 12:21:29 +0900 (JST)
Message-Id: <20020126.122129.01708476.moriko@mizuki.noe.mcu.or.jp>
To: man-jp@jp.FreeBSD.org
From: MORI Kouji <moriko@hh.iij4u.or.jp>
References: <87k7u8xccw.fsf@mizuki.noe.mcu.or.jp>
	<200201241114.UAA04638@udlew10.uldev.lsi.nec.co.jp>
X-Mailer: Mew version 2.1 on Emacs 21.1 / Mule 5.0
 =?iso-2022-jp?B?KBskQjgtTFobKEIp?=
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
 boundary="--Next_Part(Sat_Jan_26_12:21:29_2002_744)--"
Content-Transfer-Encoding: 7bit
Reply-To: man-jp@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+011218
X-Sequence: man-jp 3953
Subject: [man-jp 3953] Re: "man -k" executes any command.
Errors-To: owner-man-jp@jp.FreeBSD.org
Sender: owner-man-jp@jp.FreeBSD.org
X-Originator: moriko@hh.iij4u.or.jp

----Next_Part(Sat_Jan_26_12:21:29_2002_744)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

$B?9$G$9!#$3$s$K$A$O!#(B

Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> writes:

> system(3) $B$,8F$S=P$9(B /bin/sh $B$,FCJL07$$$7$J$$MM$K!"(B
> $B%(%9%1!<%W$9$k$@$1$J$N$GLdBj$J$$$G$9!#(B
> $B$-$A$s$H%(%9%1!<%W$7$F$*$1$P(B system(3) $B$GNI$$$H;W$$$^$9!#(B

$BFI$_4V0c$($F$^$7$?!#3N$+$K$=$l$GNI$5$=$&$G$9!#(B

$B:dK\$5$s$N0F$r4p$K(B jman $B$NJ}$r=$@5$7$^$7$?!#1Q?t;z0J30$r$9$Y$F(B '\' $B$G(B
$B%(%9%1!<%W$7$F(B system(3) $B$KEO$9$h$&$K$7$F$$$^$9!#7k2L$O2<$N$H$*$j!#(B

  $ jman -k 'echo "; ls"'
  echo "; ls": nothing appropriate
  $ jman -dk 'echo "; ls"' 2>&1 | grep 'trying command'
  trying command: /usr/local/bin/japropos echo\ \"\;\ ls\"

$B=$@52U=j$N(B diff $B$H!"=$@5$7$?(B ports $B$rE:IU$7$^$9!#(B
$BET9g$K$h$j!"%U%!%$%k$O(B
  http://www.hh.iij4u.or.jp/~moriko/files/jp-man-1.1j-ex-20020126.patch
$B$KCV$-$^$7$?!#%F%9%H$5$l$kJ}$O5$$r$D$1$F2<$5$$!"(B

> >  $ man -k '['
> >  grep: Unmatched [ or [^
> >  [: nothing appropriate
> > $B$H$$$o$l$A$c$$$^$7$?!#$=$l0JA0$NLdBj$G$9$M!#(B
> 
> man -k '^a' $B$H$+=PMh$k$N$G$9$M!#NI$$$N$+0-$$$N$+!#(B

$B$3$C$A$NLdBj$O$=$N$^$^$G$9!#(B

-- 
$B?9(B $B9@Fs(B	(MORI Kouji)
E-mail: moriko@hh.iij4u.or.jp

----Next_Part(Sat_Jan_26_12:21:29_2002_744)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename=diff

--- man/man.c	2002/01/15 12:19:48	1.8
+++ man/man.c	2002/01/26 02:28:10
@@ -576,16 +576,32 @@
 {
   register int len;
   register char *command;
+  register char *name_escaped, *src, *dst;
 
-  len = strlen (APROPOS) + strlen (name) + 4;
+  if ((name_escaped = (char *) malloc(strlen(name) * 2 + 1)) == NULL)
+    gripe_alloc (len, "name_escaped");
 
+  src = name;
+  dst = name_escaped;
+  while (*src) {
+    if (isalnum(*src)) {
+      *dst++ = *src++;
+    } else {
+      *dst++ = '\\';
+      *dst++ = *src++;
+    }
+  }
+
+  len = strlen (APROPOS) + strlen (name_escaped) + 2;
+
   if ((command = (char *) malloc(len)) == NULL)
     gripe_alloc (len, "command");
 
-  sprintf (command, "%s \"%s\"", APROPOS, name);
+  sprintf (command, "%s %s", APROPOS, name_escaped);
 
   (void) do_system_command (command);
 
+  free (name_escaped);
   free (command);
 }
 

----Next_Part(Sat_Jan_26_12:21:29_2002_744)--
Content-Type: Application/Octet-Stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="man.tar.gz"

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
RIkSJUqUKFGiRIkSJUp81/gfs/3jtABQAAA=

----Next_Part(Sat_Jan_26_12:21:29_2002_744)----
