From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 377A72BA0 for ; Tue, 19 Apr 2016 13:19:32 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP; 19 Apr 2016 04:19:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,506,1455004800"; d="scan'208";a="935543358" Received: from gklab-246-021.igk.intel.com (HELO HANLANCREEK9755-232) ([10.217.246.21]) by orsmga001.jf.intel.com with SMTP; 19 Apr 2016 04:19:28 -0700 Received: by HANLANCREEK9755-232 (sSMTP sendmail emulation); Tue, 19 Apr 2016 14:31:51 +0200 From: Marcin Kerlin To: dev@dpdk.org Cc: bruce.richardson@intel.com, reshma.pattan@intel.com, Marcin Kerlin Date: Tue, 19 Apr 2016 14:31:48 +0200 Message-Id: <1461069108-6354-1-git-send-email-marcinx.kerlin@intel.com> X-Mailer: git-send-email 1.9.1 Subject: [dpdk-dev] [PATCH 1/1] examples/distributor: fix unchecked return value X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Apr 2016 11:19:32 -0000 Fix issue reported by Coverity. Coverity ID 13207: Value returned from a function is not checked for errors before being used. Fixes: 07db4a975094 ("examples/distributor: new sample app") Signed-off-by: Marcin Kerlin --- examples/distributor/main.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/examples/distributor/main.c b/examples/distributor/main.c index c0201a9..8238520 100644 --- a/examples/distributor/main.c +++ b/examples/distributor/main.c @@ -178,19 +178,25 @@ struct lcore_params { struct rte_mempool *mem_pool; }; -static void +static int quit_workers(struct rte_distributor *d, struct rte_mempool *p) { const unsigned num_workers = rte_lcore_count() - 2; unsigned i; struct rte_mbuf *bufs[num_workers]; - rte_mempool_get_bulk(p, (void *)bufs, num_workers); + + if (rte_mempool_get_bulk(p, (void *)bufs, num_workers) != 0) { + printf("line %d: Error getting mbufs from pool\n", __LINE__); + return -1; + } for (i = 0; i < num_workers; i++) bufs[i]->hash.rss = i << 1; rte_distributor_process(d, bufs, num_workers); rte_mempool_put_bulk(p, (void *)bufs, num_workers); + + return 0; } static int @@ -258,7 +264,8 @@ lcore_rx(struct lcore_params *p) * get packets till quit_signal is actually been * received and they gracefully shutdown */ - quit_workers(d, mem_pool); + if (quit_workers(d, mem_pool) != 0) + return -1; /* rx thread should quit at last */ return 0; } @@ -588,7 +595,9 @@ main(int argc, char *argv[]) } /* call lcore_main on master core only */ struct lcore_params p = { 0, d, output_ring, mbuf_pool}; - lcore_rx(&p); + + if (lcore_rx(&p) != 0) + return -1; RTE_LCORE_FOREACH_SLAVE(lcore_id) { if (rte_eal_wait_lcore(lcore_id) < 0) -- 1.9.1