[dpdk-dev] [PATCH] lpm: unchecked return value
Slawomir Mrozowicz
slawomirx.mrozowicz at intel.com
Wed Apr 27 14:52:34 CEST 2016
Fix issue reported by Coverity.
Coverity ID 13205: Unchecked return value
Unchecked return value
check_return: Calling rte_lpm6_add without checking return value
Fixes: 5c510e13a9cb ("lpm: add IPv6 support")
Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com>
---
lib/librte_lpm/rte_lpm6.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c
index ba4353c..f4db3fa 100644
--- a/lib/librte_lpm/rte_lpm6.c
+++ b/lib/librte_lpm/rte_lpm6.c
@@ -749,6 +749,7 @@ rte_lpm6_delete(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth)
int32_t rule_to_delete_index;
uint8_t ip_masked[RTE_LPM6_IPV6_ADDR_SIZE];
unsigned i;
+ int status = 0;
/*
* Check input arguments.
@@ -790,12 +791,13 @@ rte_lpm6_delete(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth)
* Add every rule again (except for the one that was removed from
* the rules table).
*/
- for (i = 0; i < lpm->used_rules; i++) {
- rte_lpm6_add(lpm, lpm->rules_tbl[i].ip, lpm->rules_tbl[i].depth,
- lpm->rules_tbl[i].next_hop);
+ for (i = 0; i < lpm->used_rules && status >= 0; i++) {
+ status = rte_lpm6_add(
+ lpm, lpm->rules_tbl[i].ip, lpm->rules_tbl[i].depth,
+ lpm->rules_tbl[i].next_hop);
}
- return 0;
+ return status;
}
/*
--
1.9.1
More information about the dev
mailing list