aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-12-09 23:12:55 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-12-09 23:12:55 +0000
commit982f3ab679dd60e2b7cc4c0038f72b59376171dc (patch)
tree0cc5df2ddda0c7223d9bc525112e5c0713ea81ce
parentd1781191a557d2334bba9d8ef2207b80714fab6f (diff)
Fix execve argc/envc counting, by Takashi Yoshii.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3788 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--linux-user/syscall.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 590c72fa4a..0deb041eda 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3190,7 +3190,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
argc = 0;
guest_argp = arg2;
- for (gp = guest_argp; ; gp++) {
+ for (gp = guest_argp; ; gp += sizeof(abi_ulong)) {
if (get_user_ual(addr, gp))
goto efault;
if (!addr)
@@ -3199,7 +3199,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
}
envc = 0;
guest_envp = arg3;
- for (gp = guest_envp; ; gp++) {
+ for (gp = guest_envp; ; gp += sizeof(abi_ulong)) {
if (get_user_ual(addr, gp))
goto efault;
if (!addr)