diff --git a/shells/ast-ksh/files/patch-src_lib_libast_hash_hashalloc.c b/shells/ast-ksh/files/patch-src_lib_libast_hash_hashalloc.c new file mode 100644 index 000000000000..728e727803c4 --- /dev/null +++ b/shells/ast-ksh/files/patch-src_lib_libast_hash_hashalloc.c @@ -0,0 +1,20 @@ +--- src/lib/libast/hash/hashalloc.c.orig 2021-04-21 15:44:15 UTC ++++ src/lib/libast/hash/hashalloc.c +@@ -49,6 +49,7 @@ hashalloc(Hash_table_t* ref, ...) + va_list* vp = va; + Hash_region_f region = 0; + void* handle; ++ va_listarg tmpval; + + va_start(ap, ref); + +@@ -159,7 +160,8 @@ hashalloc(Hash_table_t* ref, ...) + va_copy(ap, np); + } + #else +- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++ tmpval = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, tmpval); + #endif + break; + case 0: diff --git a/shells/ast-ksh/files/patch-src_lib_libast_string_tokscan.c b/shells/ast-ksh/files/patch-src_lib_libast_string_tokscan.c new file mode 100644 index 000000000000..45ca85c6f644 --- /dev/null +++ b/shells/ast-ksh/files/patch-src_lib_libast_string_tokscan.c @@ -0,0 +1,20 @@ +--- src/lib/libast/string/tokscan.c.orig 2021-04-21 15:45:06 UTC ++++ src/lib/libast/string/tokscan.c +@@ -197,6 +197,7 @@ tokscan(register char* s, char** nxt, const char* fmt, + char** p_string; + char* prv_f = 0; + va_list prv_ap; ++ va_listarg tmpval; + + va_start(ap, fmt); + if (!*s || *s == '\n') +@@ -250,7 +251,8 @@ tokscan(register char* s, char** nxt, const char* fmt, + va_copy(ap, np); + } + #else +- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++ tmpval = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, tmpval); + #endif + continue; + case 'c':