> -----Original Message----- > From: Mrozowicz, SlawomirX > Sent: Friday, May 13, 2016 9:35 AM > To: Dumitrescu, Cristian <cristian.dumitrescu at intel.com> > Cc: dev at dpdk.org; Singh, Jasvinder <jasvinder.singh at intel.com>; > Mrozowicz, SlawomirX <slawomirx.mrozowicz at intel.com> > Subject: [PATCH v4] examples/qos_meter: fix unchecked return value > > Fix issue reported by Coverity. > > Coverity ID 30693: Unchecked return value > check_return: Calling rte_meter_srtcm_config without checking return > value. > > Fixes: e6541fdec8b2 ("meter: initial import") > > Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com> > --- > examples/qos_meter/main.c | 16 ++++++++++++---- > examples/qos_meter/main.h | 2 +- > 2 files changed, 13 insertions(+), 5 deletions(-) > > diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c > index b968b00..1565615 100644 > --- a/examples/qos_meter/main.c > +++ b/examples/qos_meter/main.c > @@ -133,14 +133,20 @@ struct rte_meter_trtcm_params > app_trtcm_params[] = { > > FLOW_METER app_flows[APP_FLOWS_MAX]; > > -static void > +static int > app_configure_flow_table(void) > { > uint32_t i, j; > + int ret; > > - for (i = 0, j = 0; i < APP_FLOWS_MAX; i ++, j = (j + 1) % > RTE_DIM(PARAMS)){ > - FUNC_CONFIG(&app_flows[i], &PARAMS[j]); > + for (i = 0, j = 0; i < APP_FLOWS_MAX; > + i ++, j = (j + 1) % RTE_DIM(PARAMS)) { > + ret = FUNC_CONFIG(&app_flows[i], &PARAMS[j]); > + if (ret) > + return ret; > } > + > + return 0; > } > > static inline void > @@ -381,7 +387,9 @@ main(int argc, char **argv) > rte_eth_promiscuous_enable(port_tx); > > /* App configuration */ > - app_configure_flow_table(); > + ret = app_configure_flow_table(); > + if (ret < 0) > + rte_exit(EXIT_FAILURE, "Invalid configure flow table\n"); > > /* Launch per-lcore init on every lcore */ > rte_eal_mp_remote_launch(main_loop, NULL, CALL_MASTER); > diff --git a/examples/qos_meter/main.h b/examples/qos_meter/main.h > index 530bf69..54867dc 100644 > --- a/examples/qos_meter/main.h > +++ b/examples/qos_meter/main.h > @@ -51,7 +51,7 @@ enum policer_action > policer_table[e_RTE_METER_COLORS][e_RTE_METER_COLORS] = > #if APP_MODE == APP_MODE_FWD > > #define FUNC_METER(a,b,c,d) color, flow_id=flow_id, pkt_len=pkt_len, > time=time > -#define FUNC_CONFIG(a,b) > +#define FUNC_CONFIG(a, b) 0 > #define PARAMS app_srtcm_params > #define FLOW_METER int > > -- > 1.9.1
Acked-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>