Fix for execve syscall, by Kirill A. Shutemov.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3763 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
e96e2044a1
commit
03aa197628
@ -3187,18 +3187,18 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
||||
argc = 0;
|
||||
guest_argp = arg2;
|
||||
for (gp = guest_argp; ; gp++) {
|
||||
if (get_user_ual(guest_argp, gp))
|
||||
if (get_user_ual(addr, gp))
|
||||
goto efault;
|
||||
if (!guest_argp)
|
||||
if (!addr)
|
||||
break;
|
||||
argc++;
|
||||
}
|
||||
envc = 0;
|
||||
guest_envp = arg3;
|
||||
for (gp = guest_envp; ; gp++) {
|
||||
if (get_user_ual(guest_envp, gp))
|
||||
if (get_user_ual(addr, gp))
|
||||
goto efault;
|
||||
if (!guest_envp)
|
||||
if (!addr)
|
||||
break;
|
||||
envc++;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user