busybox: fix bad variable substitution on right hand side of I/O redirection, imported patch from upstream bug 5282

SVN-Revision: 32162
This commit is contained in:
Jo-Philipp Wich 2012-06-10 13:19:45 +00:00
parent fd29691f89
commit e2be7290b1
2 changed files with 13 additions and 1 deletions

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
PKG_VERSION:=1.19.4
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2

View file

@ -0,0 +1,12 @@
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -6846,8 +6846,7 @@ evalvar(char *p, int flags, struct strli
patloc = expdest - (char *)stackblock();
if (NULL == subevalvar(p, /* varname: */ NULL, patloc, subtype,
startloc, varflags,
-//TODO: | EXP_REDIR too? All other such places do it too
- /* quotes: */ flags & (EXP_FULL | EXP_CASE),
+ /* quotes: */ flags & (EXP_FULL | EXP_CASE | EXP_REDIR),
var_str_list)
) {
int amount = expdest - (