Commit 982f3ab679dd60e2b7cc4c0038f72b59376171dc
1 parent
d1781191
Fix execve argc/envc counting, by Takashi Yoshii.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3788 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
2 additions
and
2 deletions
linux-user/syscall.c
| @@ -3190,7 +3190,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, | @@ -3190,7 +3190,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, | ||
| 3190 | 3190 | ||
| 3191 | argc = 0; | 3191 | argc = 0; |
| 3192 | guest_argp = arg2; | 3192 | guest_argp = arg2; |
| 3193 | - for (gp = guest_argp; ; gp++) { | 3193 | + for (gp = guest_argp; ; gp += sizeof(abi_ulong)) { |
| 3194 | if (get_user_ual(addr, gp)) | 3194 | if (get_user_ual(addr, gp)) |
| 3195 | goto efault; | 3195 | goto efault; |
| 3196 | if (!addr) | 3196 | if (!addr) |
| @@ -3199,7 +3199,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, | @@ -3199,7 +3199,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, | ||
| 3199 | } | 3199 | } |
| 3200 | envc = 0; | 3200 | envc = 0; |
| 3201 | guest_envp = arg3; | 3201 | guest_envp = arg3; |
| 3202 | - for (gp = guest_envp; ; gp++) { | 3202 | + for (gp = guest_envp; ; gp += sizeof(abi_ulong)) { |
| 3203 | if (get_user_ual(addr, gp)) | 3203 | if (get_user_ual(addr, gp)) |
| 3204 | goto efault; | 3204 | goto efault; |
| 3205 | if (!addr) | 3205 | if (!addr) |