[dpdk-dev,1/1] examples/distributor: fix unchecked return value
Commit Message
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 <marcinx.kerlin@intel.com>
---
examples/distributor/main.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
Comments
> -----Original Message-----
> From: Kerlin, MarcinX
> Sent: Tuesday, April 19, 2016 1:32 PM
> To: dev@dpdk.org
> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Pattan, Reshma
> <reshma.pattan@intel.com>; Kerlin, MarcinX <marcinx.kerlin@intel.com>
> Subject: [PATCH 1/1] examples/distributor: fix unchecked return value
>
> 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 <marcinx.kerlin@intel.com>
> ---
> examples/distributor/main.c | 17 +++++++++++++----
> 1 file changed, 13 insertions(+), 4 deletions(-)
>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
> > 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 <marcinx.kerlin@intel.com>
>
> Acked-by: Reshma Pattan <reshma.pattan@intel.com>
Applied, thanks
@@ -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)