about summary refs log tree commit diff stats
path: root/src/wrapped/wrappedlibc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/wrapped/wrappedlibc.c')
-rw-r--r--src/wrapped/wrappedlibc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c
index f341abaf..ba56c7c1 100644
--- a/src/wrapped/wrappedlibc.c
+++ b/src/wrapped/wrappedlibc.c
@@ -1715,6 +1715,11 @@ EXPORT ssize_t my_readlink(x64emu_t* emu, void* path, void* buf, size_t sz)
     return readlink((const char*)path, (char*)buf, sz);
 }
 
+EXPORT ssize_t my___readlink_chk(x64emu_t* emu, void* path, void* buf, size_t sz, size_t buflen)
+{
+    return my_readlink(emu, path, buf, sz);
+}
+
 int getNCpu();  // defined in my_cpuid.c
 const char* getBoxCpuName();    // defined in my_cpuid.c
 const char* getCpuName(); // defined in my_cpu_id.c
@@ -3163,7 +3168,7 @@ EXPORT int my_mprotect(x64emu_t* emu, void *addr, unsigned long len, int prot)
         if(prot& PROT_EXEC)
             addDBFromAddressRange((uintptr_t)addr, len);
         else
-            cleanDBFromAddressRange((uintptr_t)addr, len, 1);
+            cleanDBFromAddressRange((uintptr_t)addr, len, (!prot)?1:0);
     }
     #endif
     if(!ret && len) {