From patchwork Thu Jan 26 03:05:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jianfeng Tan X-Patchwork-Id: 20006 X-Patchwork-Delegate: yuanhan.liu@linux.intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id C4FF32BB0; Thu, 26 Jan 2017 04:05:02 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id CC6931023 for ; Thu, 26 Jan 2017 04:05:00 +0100 (CET) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP; 25 Jan 2017 19:04:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,287,1477983600"; d="scan'208";a="57334918" Received: from dpdk06.sh.intel.com ([10.239.129.195]) by orsmga005.jf.intel.com with ESMTP; 25 Jan 2017 19:04:58 -0800 From: Jianfeng Tan To: dev@dpdk.org Cc: yuanhan.liu@linux.intel.com, john.mcnamara@intel.com, Jianfeng Tan Date: Thu, 26 Jan 2017 03:05:42 +0000 Message-Id: <1485399942-94705-1-git-send-email-jianfeng.tan@intel.com> X-Mailer: git-send-email 2.7.4 Subject: [dpdk-dev] [PATCH] net/virtio-user: check value returned from malloc X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Value returned from malloc is not checked for errors before being used. This patch fixes following coverity issue. static struct vhost_memory_kernel * prepare_vhost_memory_kernel(void) { ... vm = malloc(sizeof(struct vhost_memory_kernel) + max_regions * sizeof(struct vhost_memory_region)); ... >>> CID 140744: (NULL_RETURNS) >>> Dereferencing a null pointer "vm". mr = &vm->regions[k++]; Fixes: e3b434818bbb ("net/virtio-user: support kernel vhost") Coverity issue: 140744 Signed-off-by: Jianfeng Tan --- drivers/net/virtio/virtio_user/vhost_kernel.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/virtio/virtio_user/vhost_kernel.c b/drivers/net/virtio/virtio_user/vhost_kernel.c index 9b6637d..05aa6c6 100644 --- a/drivers/net/virtio/virtio_user/vhost_kernel.c +++ b/drivers/net/virtio/virtio_user/vhost_kernel.c @@ -114,6 +114,8 @@ prepare_vhost_memory_kernel(void) vm = malloc(sizeof(struct vhost_memory_kernel) + max_regions * sizeof(struct vhost_memory_region)); + if (!vm) + return NULL; for (i = 0; i < RTE_MAX_MEMSEG; ++i) { seg = &rte_eal_get_configuration()->mem_config->memseg[i];