diff options
-rw-r--r-- | shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c | 20 | ||||
-rw-r--r-- | shells/ksh93/files/patch-src-lib-libast-string-tokscan.c | 20 |
2 files changed, 40 insertions, 0 deletions
diff --git a/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c b/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c new file mode 100644 index 000000000000..ca44cd98e048 --- /dev/null +++ b/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c @@ -0,0 +1,20 @@ +--- src/lib/libast/hash/hashalloc.c.orig 2013-12-28 22:09:43.000000000 +0100 ++++ src/lib/libast/hash/hashalloc.c 2013-12-28 22:43:14.000000000 +0100 +@@ -49,6 +49,7 @@ + va_list* vp = va; + Hash_region_f region = 0; + void* handle; ++ va_listarg tmpval; + + va_start(ap, ref); + +@@ -151,7 +152,8 @@ + va_copy(*vp, ap); + vp++; + } +- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++ tmpval = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, tmpval); + break; + case 0: + if (vp > va) diff --git a/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c b/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c new file mode 100644 index 000000000000..2837965d311f --- /dev/null +++ b/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c @@ -0,0 +1,20 @@ +--- ./src/lib/libast/string/tokscan.c.orig 2013-12-28 22:16:20.000000000 +0100 ++++ ./src/lib/libast/string/tokscan.c 2013-12-28 22:43:28.000000000 +0100 +@@ -188,6 +188,7 @@ + char** p_string; + char* prv_f = 0; + va_list prv_ap; ++ va_listarg tmpval; + + va_start(ap, fmt); + if (!*s || *s == '\n') +@@ -233,7 +234,8 @@ + prv_f = f; + f = va_arg(ap, char*); + va_copy(prv_ap, ap); +- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++ tmpval = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, tmpval); + continue; + case 'c': + p_char = va_arg(ap, char*); |