about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-12-01 17:41:41 +0100
committerptitSeb <sebastien.chev@gmail.com>2023-12-01 17:41:41 +0100
commitf4a7a88167b691be5c9a6ed7f8859fb32d9cf9ec (patch)
tree34c65781d791b04b33377fee23ef1455e0f68fe9 /src
parent37a976831d00d386dd3130ca9809d339e8aa0205 (diff)
downloadbox64-f4a7a88167b691be5c9a6ed7f8859fb32d9cf9ec.tar.gz
box64-f4a7a88167b691be5c9a6ed7f8859fb32d9cf9ec.zip
Fixed some potentials segfault with wine apps (maybe other too)
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/wrappedlibc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c
index b0e7dbd8..1d3fb9e9 100644
--- a/src/wrapped/wrappedlibc.c
+++ b/src/wrapped/wrappedlibc.c
@@ -1615,7 +1615,8 @@ EXPORT int32_t my_open(x64emu_t* emu, void* pathname, int32_t flags, uint32_t mo
         int dummy = write(tmp, emu->context->fullpath, strlen(emu->context->fullpath)+1);
         (void)dummy;
         for (int i=1; i<emu->context->argc; ++i)
-            dummy = write(tmp, emu->context->argv[i], strlen(emu->context->argv[i])+1);
+            if(emu->context->argv[i])
+                dummy = write(tmp, emu->context->argv[i], strlen(emu->context->argv[i])+1);
         lseek(tmp, 0, SEEK_SET);
         #endif
         return tmp;
@@ -1692,7 +1693,8 @@ EXPORT int32_t my_open64(x64emu_t* emu, void* pathname, int32_t flags, uint32_t
         int dummy = write(tmp, emu->context->fullpath, strlen(emu->context->fullpath)+1);
         (void)dummy;
         for (int i=1; i<emu->context->argc; ++i)
-            dummy = write(tmp, emu->context->argv[i], strlen(emu->context->argv[i])+1);
+            if(emu->context->argv[i])
+                dummy = write(tmp, emu->context->argv[i], strlen(emu->context->argv[i])+1);
         lseek(tmp, 0, SEEK_SET);
         #endif
         return tmp;