kumquat-buildroot/package/busybox/0002-ash.patch
Gustavo Zacarias 67c8c7037b busybox: bump to version 1.23.0
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-29 15:55:48 +01:00

40 lines
1.0 KiB
Diff

Upstream http://busybox.net/downloads/fixes-1.23.0/busybox-1.23.0-ash.patch
post-release hotfix patch for ash segfault.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
--- busybox-1.23.0/shell/ash.c
+++ busybox-1.23.0-ash/shell/ash.c
@@ -6746,6 +6746,14 @@ varvalue(char *name, int varflags, int f
len = strlen(p);
if (!(subtype == VSPLUS || subtype == VSLENGTH))
memtodest(p, len, syntax, quotes);
+#if ENABLE_UNICODE_SUPPORT
+ if (subtype == VSLENGTH && len > 0) {
+ reinit_unicode_for_ash();
+ if (unicode_status == UNICODE_ON) {
+ len = unicode_strlen(p);
+ }
+ }
+#endif
return len;
}
@@ -6829,15 +6837,7 @@ evalvar(char *p, int flags, struct strli
varunset(p, var, 0, 0);
if (subtype == VSLENGTH) {
- ssize_t n = varlen;
- if (n > 0) {
- reinit_unicode_for_ash();
- if (unicode_status == UNICODE_ON) {
- const char *val = lookupvar(var);
- n = unicode_strlen(val);
- }
- }
- cvtnum(n > 0 ? n : 0);
+ cvtnum(varlen > 0 ? varlen : 0);
goto record;
}