diff options
Diffstat (limited to 'package/busybox/patches/000-upstream-ash.patch')
-rw-r--r-- | package/busybox/patches/000-upstream-ash.patch | 14 |
1 files changed, 14 insertions, 0 deletions
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 { |