From patchwork Fri Jul 11 15:18:03 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joakim Tjernlund X-Patchwork-Id: 369196 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id B79D9140088 for ; Sat, 12 Jul 2014 01:19:14 +1000 (EST) Received: from localhost ([::1]:45438 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X5cbQ-00041f-TQ for incoming@patchwork.ozlabs.org; Fri, 11 Jul 2014 11:19:12 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49872) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X5caZ-0002kd-7N for qemu-devel@nongnu.org; Fri, 11 Jul 2014 11:18:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X5caR-0003tl-T1 for qemu-devel@nongnu.org; Fri, 11 Jul 2014 11:18:18 -0400 Received: from gw1.transmode.se ([195.58.98.146]:57416) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X5caR-0003tB-MW for qemu-devel@nongnu.org; Fri, 11 Jul 2014 11:18:11 -0400 Received: from mail1.transmode.se (mail1.transmode.se [192.168.201.18]) by gw1.transmode.se (Postfix) with ESMTP id 3A16948421E for ; Fri, 11 Jul 2014 17:18:11 +0200 (CEST) Received: from gentoo-jocke.transmode.se ([172.20.4.10]) by mail1.transmode.se (Lotus Domino Release 8.5.3FP6) with ESMTP id 2014071117181104-91678 ; Fri, 11 Jul 2014 17:18:11 +0200 Received: from gentoo-jocke.transmode.se (localhost [127.0.0.1]) by gentoo-jocke.transmode.se (8.14.9/8.14.4) with ESMTP id s6BFIAfS030015; Fri, 11 Jul 2014 17:18:10 +0200 Received: (from jocke@localhost) by gentoo-jocke.transmode.se (8.14.9/8.14.9/Submit) id s6BFIAXM030014; Fri, 11 Jul 2014 17:18:10 +0200 From: Joakim Tjernlund To: qemu-devel@nongnu.org Date: Fri, 11 Jul 2014 17:18:03 +0200 Message-Id: <1405091884-29955-4-git-send-email-Joakim.Tjernlund@transmode.se> X-Mailer: git-send-email 1.8.5.5 In-Reply-To: <1405091884-29955-1-git-send-email-Joakim.Tjernlund@transmode.se> References: <1405091884-29955-1-git-send-email-Joakim.Tjernlund@transmode.se> X-MIMETrack: Itemize by SMTP Server on mail1/Transmode(Release 8.5.3FP6|November 21, 2013) at 11/07/2014 17:18:11, Serialize by Router on mail1/Transmode(Release 8.5.3FP6|November 21, 2013) at 11/07/2014 17:18:11, Serialize complete at 11/07/2014 17:18:11 X-TNEFEvaluated: 1 X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 195.58.98.146 Cc: Joakim Tjernlund Subject: [Qemu-devel] [PATCH 3/4] alloca one extra byte sockets X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org target_to_host_sockaddr() may increase the lenth with 1 byte for AF_UNIX sockets so allocate 1 extra byte. Signed-off-by: Joakim Tjernlund Reviewed-by: Peter Maydell --- linux-user/syscall.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index a0e1ccc..8853c4e 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -1978,7 +1978,7 @@ static abi_long do_connect(int sockfd, abi_ulong target_addr, return -TARGET_EINVAL; } - addr = alloca(addrlen); + addr = alloca(addrlen+1); ret = target_to_host_sockaddr(addr, target_addr, addrlen); if (ret) @@ -1999,7 +1999,7 @@ static abi_long do_sendrecvmsg_locked(int fd, struct target_msghdr *msgp, if (msgp->msg_name) { msg.msg_namelen = tswap32(msgp->msg_namelen); - msg.msg_name = alloca(msg.msg_namelen); + msg.msg_name = alloca(msg.msg_namelen+1); ret = target_to_host_sockaddr(msg.msg_name, tswapal(msgp->msg_name), msg.msg_namelen); if (ret) { @@ -2262,7 +2262,7 @@ static abi_long do_sendto(int fd, abi_ulong msg, size_t len, int flags, if (!host_msg) return -TARGET_EFAULT; if (target_addr) { - addr = alloca(addrlen); + addr = alloca(addrlen+1); ret = target_to_host_sockaddr(addr, target_addr, addrlen); if (ret) { unlock_user(host_msg, msg, 0);