X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=blobdiff_plain;f=package%2Fbusybox%2Fpatches%2F000-upstream-ash.patch;fp=package%2Fbusybox%2Fpatches%2F000-upstream-ash.patch;h=c90e9d25c82caca609f5988efd6aafd89eb5bd18;hp=0000000000000000000000000000000000000000;hb=25fac96381ad76985dd4bc4c7052e01869dfbd64;hpb=383810a74af3cf5291a3837646700a5f9f584e90 diff --git a/package/busybox/patches/000-upstream-ash.patch b/package/busybox/patches/000-upstream-ash.patch new file mode 100644 index 0000000000..c90e9d25c8 --- /dev/null +++ b/package/busybox/patches/000-upstream-ash.patch @@ -0,0 +1,14 @@ +--- a/shell/ash.c ++++ b/shell/ash.c +@@ -5424,7 +5424,11 @@ rmescapes(char *str, int flag) + size_t fulllen = len + strlen(p) + 1; + + if (flag & RMESCAPE_GROW) { ++ int strloc = str - (char *)stackblock(); + r = makestrspace(fulllen, expdest); ++ /* p and str may be invalidated by makestrspace */ ++ str = (char *)stackblock() + strloc; ++ p = str + len; + } else if (flag & RMESCAPE_HEAP) { + r = ckmalloc(fulllen); + } else {