diff options
| author | Louis Scalbert <louis.scalbert@6wind.com> | 2024-04-23 11:36:14 +0200 | 
|---|---|---|
| committer | Mergify <37929162+mergify[bot]@users.noreply.github.com> | 2024-04-24 11:26:46 +0000 | 
| commit | 11a9bc296c6a1425202dd3fe26e377e160d907a2 (patch) | |
| tree | f868a688527b5883b03d21a9906e862dacf23c39 /ospfd/ospf_snmp.c | |
| parent | 123b134ec782c650098748d5c16af3dbd357d200 (diff) | |
Revert "ospfd: fix some dicey pointer arith in snmp module"
This reverts commit 438ef98701e9922e81a451f87ad053268a1a557e.
The previous code was correct even if the coverity scanner was
complaining.
Fixes: https://github.com/FRRouting/frr/issues/15680
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
(cherry picked from commit c7895ba3202db2d99a3d9b688dc15424b8df35bd)
Diffstat (limited to 'ospfd/ospf_snmp.c')
| -rw-r--r-- | ospfd/ospf_snmp.c | 26 | 
1 files changed, 13 insertions, 13 deletions
diff --git a/ospfd/ospf_snmp.c b/ospfd/ospf_snmp.c index c9aaa9f978..fcc43e7311 100644 --- a/ospfd/ospf_snmp.c +++ b/ospfd/ospf_snmp.c @@ -906,7 +906,7 @@ static struct ospf_lsa *ospfLsdbLookup(struct variable *v, oid *name,  		area = ospf_area_lookup_by_area_id(ospf, *area_id);  		if (!area)  			return NULL; -		offset++; +		offset += IN_ADDR_SIZE;  		/* Type. */  		*type = *offset; @@ -914,7 +914,7 @@ static struct ospf_lsa *ospfLsdbLookup(struct variable *v, oid *name,  		/* LS ID. */  		oid2in_addr(offset, IN_ADDR_SIZE, ls_id); -		offset++; +		offset += IN_ADDR_SIZE;  		/* Router ID. */  		oid2in_addr(offset, IN_ADDR_SIZE, router_id); @@ -971,7 +971,7 @@ static struct ospf_lsa *ospfLsdbLookup(struct variable *v, oid *name,  			}  			/* Router ID. */ -			offset++; +			offset += IN_ADDR_SIZE;  			offsetlen -= IN_ADDR_SIZE;  			len = offsetlen; @@ -996,11 +996,11 @@ static struct ospf_lsa *ospfLsdbLookup(struct variable *v, oid *name,  				/* Fill in value. */  				offset = name + v->namelen;  				oid_copy_in_addr(offset, area_id); -				offset++; +				offset += IN_ADDR_SIZE;  				*offset = lsa->data->type;  				offset++;  				oid_copy_in_addr(offset, &lsa->data->id); -				offset++; +				offset += IN_ADDR_SIZE;  				oid_copy_in_addr(offset,  						 &lsa->data->adv_router); @@ -1106,7 +1106,7 @@ static struct ospf_area_range *ospfAreaRangeLookup(struct variable *v,  		if (!area)  			return NULL; -		offset++; +		offset += IN_ADDR_SIZE;  		/* Lookup area range. */  		oid2in_addr(offset, IN_ADDR_SIZE, range_net); @@ -1135,7 +1135,7 @@ static struct ospf_area_range *ospfAreaRangeLookup(struct variable *v,  			return NULL;  		do { -			offset++; +			offset += IN_ADDR_SIZE;  			offsetlen -= IN_ADDR_SIZE;  			len = offsetlen; @@ -1157,7 +1157,7 @@ static struct ospf_area_range *ospfAreaRangeLookup(struct variable *v,  				/* Fill in value. */  				offset = name + v->namelen;  				oid_copy_in_addr(offset, area_id); -				offset++; +				offset += IN_ADDR_SIZE;  				oid_copy_in_addr(offset, range_net);  				return range; @@ -1560,7 +1560,7 @@ static struct ospf_interface *ospfIfLookup(struct variable *v, oid *name,  			*length = v->namelen + IN_ADDR_SIZE + 1;  			offset = name + v->namelen;  			oid_copy_in_addr(offset, ifaddr); -			offset++; +			offset += IN_ADDR_SIZE;  			*offset = *ifindex;  			return oi;  		} @@ -1704,7 +1704,7 @@ static struct ospf_interface *ospfIfMetricLookup(struct variable *v, oid *name,  			*length = v->namelen + IN_ADDR_SIZE + 1 + 1;  			offset = name + v->namelen;  			oid_copy_in_addr(offset, ifaddr); -			offset++; +			offset += IN_ADDR_SIZE;  			*offset = *ifindex;  			offset++;  			*offset = OSPF_SNMP_METRIC_VALUE; @@ -2242,7 +2242,7 @@ static struct ospf_lsa *ospfExtLsdbLookup(struct variable *v, oid *name,  		/* LS ID. */  		oid2in_addr(offset, IN_ADDR_SIZE, ls_id); -		offset++; +		offset += IN_ADDR_SIZE;  		/* Router ID. */  		oid2in_addr(offset, IN_ADDR_SIZE, router_id); @@ -2270,7 +2270,7 @@ static struct ospf_lsa *ospfExtLsdbLookup(struct variable *v, oid *name,  		oid2in_addr(offset, len, ls_id); -		offset++; +		offset += IN_ADDR_SIZE;  		offsetlen -= IN_ADDR_SIZE;  		/* Router ID. */ @@ -2293,7 +2293,7 @@ static struct ospf_lsa *ospfExtLsdbLookup(struct variable *v, oid *name,  			*offset = OSPF_AS_EXTERNAL_LSA;  			offset++;  			oid_copy_in_addr(offset, &lsa->data->id); -			offset++; +			offset += IN_ADDR_SIZE;  			oid_copy_in_addr(offset, &lsa->data->adv_router);  			return lsa;  | 
