about summary refs log tree commit diff stats
path: root/src/libtools
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2023-05-16 22:55:34 +0800
committerGitHub <noreply@github.com>2023-05-16 16:55:34 +0200
commitd61f3e79e23ed0c2139361091603fd4dc627bccb (patch)
tree35b806bbc3e5ad3182a234b07dad8d1a4797bdb5 /src/libtools
parent1d58879ae5fd508c140a03be842751419f264068 (diff)
downloadbox64-d61f3e79e23ed0c2139361091603fd4dc627bccb.tar.gz
box64-d61f3e79e23ed0c2139361091603fd4dc627bccb.zip
[WRAPPER] Fixed stack align on varargs (for #789) (#790)
Diffstat (limited to 'src/libtools')
-rwxr-xr-xsrc/libtools/myalign.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libtools/myalign.c b/src/libtools/myalign.c
index 3d2e49a0..36873cba 100755
--- a/src/libtools/myalign.c
+++ b/src/libtools/myalign.c
@@ -717,7 +717,7 @@ void myStackAlignValist(x64emu_t* emu, const char* fmt, uint64_t* mystack, x64_v
             case 15:    //%zg, meh.. double?
                 if(fprs<X64_VA_MAX_XMM) {
                     *mystack = area[fprs/8];
-                    fprs+=8;
+                    fprs+=16;
                     mystack++;
                 } else {
                     *mystack = *st;
@@ -862,7 +862,7 @@ void myStackAlignWValist(x64emu_t* emu, const char* fmt, uint64_t* mystack, x64_
             case 15:    //%zg, meh .. double
                 if(fprs<X64_VA_MAX_XMM) {
                     *mystack = area[fprs/8];
-                    fprs+=8;
+                    fprs+=16;
                     mystack++;
                 } else {
                     *mystack = *st;
@@ -1130,4 +1130,4 @@ void myStackAlignScanfWValist(x64emu_t* emu, const char* fmt, uint64_t* mystack,
     }
 }
 
-#endif
\ No newline at end of file
+#endif