about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-04-24 15:01:46 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-04-24 15:01:46 +0200
commit7fa2a273d0d006d1b498c54477ac9a305b29d957 (patch)
treecbcb118e8ec52818bf8cb8f6b5842dec2159c9a8 /src
parent52e125e35a8c6831d628bb30c40221650d976044 (diff)
downloadbox64-7fa2a273d0d006d1b498c54477ac9a305b29d957.tar.gz
box64-7fa2a273d0d006d1b498c54477ac9a305b29d957.zip
Fixed linux dirent64 to linux dirent conversion
Diffstat (limited to 'src')
-rwxr-xr-xsrc/emu/x64syscall.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/emu/x64syscall.c b/src/emu/x64syscall.c
index bc270eb5..09fc2bc7 100755
--- a/src/emu/x64syscall.c
+++ b/src/emu/x64syscall.c
@@ -92,6 +92,7 @@ scwrap_t syscallwrap[] = {
     { 186, __NR_gettid, 0 },    //0xBA
     { 202, __NR_futex, 6},
     { 217, __NR_getdents64, 3},
+    { 234, __NR_tgkill, 3},
     #ifdef __NR_inotify_init
     { 253, __NR_inotify_init, 0},   //0xFD
     #endif
@@ -143,8 +144,8 @@ ssize_t DirentFromDirent64(void* dest, void* source, ssize_t count)
 
         count -= src->d_reclen;
         ret += 1;
-        src = (nat_linux_dirent64_t*)((uintptr_t)src + src->d_off);
-        dst = (x86_linux_dirent_t*)((uintptr_t)dst + dst->d_off);
+        src = (nat_linux_dirent64_t*)(((uintptr_t)src) + src->d_reclen);
+        dst = (x86_linux_dirent_t*)(((uintptr_t)dst) + dst->d_reclen);
     }
     return ret;
 }