From f24e2c80a923725b76cc7211832f47f7f831df76 Mon Sep 17 00:00:00 2001 From: tg Date: Sun, 16 May 2010 19:04:42 +0000 Subject: [PATCH] disallow some more kinds to trim a vector; Debian #581867 --- check.t | 4 ++-- eval.c | 4 +++- sh.h | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/check.t b/check.t index d4cd6bf..60f41d9 100644 --- a/check.t +++ b/check.t @@ -1,4 +1,4 @@ -# $MirOS: src/bin/mksh/check.t,v 1.375 2010/04/27 21:39:06 tg Exp $ +# $MirOS: src/bin/mksh/check.t,v 1.376 2010/05/16 19:04:40 tg Exp $ # $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $ # $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $ # $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $ @@ -25,7 +25,7 @@ # http://www.research.att.com/~gsf/public/ifs.sh expected-stdout: - @(#)MIRBSD KSH R39 2010/04/27 + @(#)MIRBSD KSH R39 2010/05/16 description: Check version of shell. stdin: diff --git a/eval.c b/eval.c index 902351e..8f8711e 100644 --- a/eval.c +++ b/eval.c @@ -22,7 +22,7 @@ #include "sh.h" -__RCSID("$MirOS: src/bin/mksh/eval.c,v 1.87 2010/04/20 09:10:07 tg Exp $"); +__RCSID("$MirOS: src/bin/mksh/eval.c,v 1.88 2010/05/16 19:04:41 tg Exp $"); /* * string expansion @@ -1020,6 +1020,8 @@ varsub(Expand *xp, const char *sp, const char *word, case '=': /* can't assign to a vector */ case '%': /* can't trim a vector (yet) */ case '#': + case '0': + case '/': return (-1); } if (e->loc->argc == 0) { diff --git a/sh.h b/sh.h index 3af04cd..d8bb6ba 100644 --- a/sh.h +++ b/sh.h @@ -150,9 +150,9 @@ #endif #ifdef EXTERN -__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.390 2010/04/27 21:39:09 tg Exp $"); +__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.391 2010/05/16 19:04:42 tg Exp $"); #endif -#define MKSH_VERSION "R39 2010/04/27" +#define MKSH_VERSION "R39 2010/05/16" #ifndef MKSH_INCLUDES_ONLY