From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50584) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XFgNz-00015M-PK for qemu-devel@nongnu.org; Fri, 08 Aug 2014 05:23:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XFgNv-0004ry-01 for qemu-devel@nongnu.org; Fri, 08 Aug 2014 05:22:55 -0400 Received: from szxga02-in.huawei.com ([119.145.14.65]:45169) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XFgNu-0004rb-7G for qemu-devel@nongnu.org; Fri, 08 Aug 2014 05:22:50 -0400 From: zhanghailiang Date: Fri, 8 Aug 2014 17:21:09 +0800 Message-ID: <1407489672-12212-8-git-send-email-zhang.zhanghailiang@huawei.com> In-Reply-To: <1407489672-12212-1-git-send-email-zhang.zhanghailiang@huawei.com> References: <1407489672-12212-1-git-send-email-zhang.zhanghailiang@huawei.com> MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH v4 07/10] linux-user: check return value of malloc() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, lkurusa@redhat.com, zhanghailiang , mst@redhat.com, jan.kiszka@siemens.com, riku.voipio@iki.fi, mjt@tls.msk.ru, peter.huangpeng@huawei.com, lcapitulino@redhat.com, stefanha@redhat.com, luonengjun@huawei.com, pbonzini@redhat.com, alex.bennee@linaro.org, rth@twiddle.net Signed-off-by: zhanghailiang --- linux-user/syscall.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index a50229d..8e5ccf1 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2870,6 +2870,10 @@ static inline abi_long do_msgsnd(int msqid, abi_long msgp, if (!lock_user_struct(VERIFY_READ, target_mb, msgp, 0)) return -TARGET_EFAULT; host_mb = malloc(msgsz+sizeof(long)); + if (!host_mb) { + unlock_user_struct(target_mb, msgp, 0); + return -TARGET_ENOMEM; + } host_mb->mtype = (abi_long) tswapal(target_mb->mtype); memcpy(host_mb->mtext, target_mb->mtext, msgsz); ret = get_errno(msgsnd(msqid, host_mb, msgsz, msgflg)); -- 1.7.12.4