diff options
Diffstat (limited to 'package/busybox/busybox-1.16.1-ash.patch')
-rw-r--r-- | package/busybox/busybox-1.16.1-ash.patch | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.16.1-ash.patch b/package/busybox/busybox-1.16.1-ash.patch new file mode 100644 index 000000000..629874e21 --- /dev/null +++ b/package/busybox/busybox-1.16.1-ash.patch @@ -0,0 +1,15 @@ +diff -urpN busybox-1.16.1/shell/ash.c busybox-1.16.1-ash/shell/ash.c +--- busybox-1.16.1/shell/ash.c 2010-03-28 19:44:04.000000000 +0200 ++++ busybox-1.16.1-ash/shell/ash.c 2010-04-26 14:18:36.000000000 +0200 +@@ -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 { |