From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1K29Gn-0006CT-68 for qemu-devel@nongnu.org; Fri, 30 May 2008 14:24:05 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1K29Gl-0006Bd-UU for qemu-devel@nongnu.org; Fri, 30 May 2008 14:24:04 -0400 Received: from [199.232.76.173] (port=52915 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K29Gl-0006BF-Ne for qemu-devel@nongnu.org; Fri, 30 May 2008 14:24:03 -0400 Received: from savannah.gnu.org ([199.232.41.3]:34897 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1K29Gj-0006C9-8k for qemu-devel@nongnu.org; Fri, 30 May 2008 14:24:01 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1K29Gi-0003aD-Kq for qemu-devel@nongnu.org; Fri, 30 May 2008 18:24:00 +0000 Received: from pbrook by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1K29Gi-0003a9-DV for qemu-devel@nongnu.org; Fri, 30 May 2008 18:24:00 +0000 MIME-Version: 1.0 Errors-To: pbrook Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Paul Brook Message-Id: Date: Fri, 30 May 2008 18:24:00 +0000 Subject: [Qemu-devel] [4627] Handle NULL argp/envp in execve syscall. Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 4627 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4627 Author: pbrook Date: 2008-05-30 18:24:00 +0000 (Fri, 30 May 2008) Log Message: ----------- Handle NULL argp/envp in execve syscall. Modified Paths: -------------- trunk/linux-user/syscall.c Modified: trunk/linux-user/syscall.c =================================================================== --- trunk/linux-user/syscall.c 2008-05-30 18:20:05 UTC (rev 4626) +++ trunk/linux-user/syscall.c 2008-05-30 18:24:00 UTC (rev 4627) @@ -3248,7 +3248,7 @@ argc = 0; guest_argp = arg2; - for (gp = guest_argp; ; gp += sizeof(abi_ulong)) { + for (gp = guest_argp; gp; gp += sizeof(abi_ulong)) { if (get_user_ual(addr, gp)) goto efault; if (!addr) @@ -3257,7 +3257,7 @@ } envc = 0; guest_envp = arg3; - for (gp = guest_envp; ; gp += sizeof(abi_ulong)) { + for (gp = guest_envp; gp; gp += sizeof(abi_ulong)) { if (get_user_ual(addr, gp)) goto efault; if (!addr) @@ -3268,7 +3268,7 @@ argp = alloca((argc + 1) * sizeof(void *)); envp = alloca((envc + 1) * sizeof(void *)); - for (gp = guest_argp, q = argp; ; + for (gp = guest_argp, q = argp; gp; gp += sizeof(abi_ulong), q++) { if (get_user_ual(addr, gp)) goto execve_efault; @@ -3279,7 +3279,7 @@ } *q = NULL; - for (gp = guest_envp, q = envp; ; + for (gp = guest_envp, q = envp; gp; gp += sizeof(abi_ulong), q++) { if (get_user_ual(addr, gp)) goto execve_efault;