Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
ip: comparing IP prefixes should not modify them
[vpp.git]
/
src
/
vat
/
ip_types.c
diff --git
a/src/vat/ip_types.c
b/src/vat/ip_types.c
index
8edcb13
..
f4dcc96
100644
(file)
--- a/
src/vat/ip_types.c
+++ b/
src/vat/ip_types.c
@@
-344,23
+344,24
@@
ip_prefix_copy (void *dst, void *src)
}
int
}
int
-ip_prefix_cmp (
ip_prefix_t * p1, ip_prefix_t *
p2)
+ip_prefix_cmp (
const ip_prefix_t *ipp1, const ip_prefix_t *ip
p2)
{
{
+ ip_prefix_t p1 = *ipp1, p2 = *ipp2;
int cmp = 0;
int cmp = 0;
- ip_prefix_normalize (p1);
- ip_prefix_normalize (p2);
+ ip_prefix_normalize (
&
p1);
+ ip_prefix_normalize (
&
p2);
- cmp = ip_address_cmp (&ip_prefix_addr (
p1), &ip_prefix_addr (
p2));
+ cmp = ip_address_cmp (&ip_prefix_addr (
&p1), &ip_prefix_addr (&
p2));
if (cmp == 0)
{
if (cmp == 0)
{
- if (ip_prefix_len (
p1) < ip_prefix_len (
p2))
+ if (ip_prefix_len (
&p1) < ip_prefix_len (&
p2))
{
cmp = 1;
}
else
{
{
cmp = 1;
}
else
{
- if (ip_prefix_len (
p1) > ip_prefix_len (
p2))
+ if (ip_prefix_len (
&p1) > ip_prefix_len (&
p2))
cmp = 2;
}
}
cmp = 2;
}
}