busybox: fix bad variable substitution on right hand side of I/O redirection, importe...
authorJo-Philipp Wich <jow@openwrt.org>
Sun, 10 Jun 2012 13:19:45 +0000 (13:19 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sun, 10 Jun 2012 13:19:45 +0000 (13:19 +0000)
SVN-Revision: 32162

package/busybox/Makefile
package/busybox/patches/251-ash_fix-redir-substitution.patch [new file with mode: 0644]

index af27df071bc1f373c37db6738943eb99f546ce79..1d2d7b4fac1605bc16063db8991909936ba1dd85 100644 (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
diff --git a/package/busybox/patches/251-ash_fix-redir-substitution.patch b/package/busybox/patches/251-ash_fix-redir-substitution.patch
new file mode 100644 (file)
index 0000000..cb2ae94
--- /dev/null
@@ -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 - (