summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_aspath.c
diff options
context:
space:
mode:
authorpaul <paul>2006-08-06 15:52:11 +0000
committerpaul <paul>2006-08-06 15:52:11 +0000
commit2c5ad1b10b71dcf8606ca8cead31ee6e4246ac17 (patch)
tree22d439cc24cedd3bbcf31eddb6df6bb987c426b0 /bgpd/bgp_aspath.c
parent116008fe8eab1c67ab91d1851a659cc9e77d2f6d (diff)
downloadquagga-2c5ad1b10b71dcf8606ca8cead31ee6e4246ac17.tar.bz2
quagga-2c5ad1b10b71dcf8606ca8cead31ee6e4246ac17.tar.xz
[bgpd] aspath_loop_check was broken, fix it and the aspath unit test code.
2006-08-06 Paul Jakma <paul.jakma@sun.com> * bgp_aspath.c: (aspath_loop_check) Fix the typo-bug which essentially had disabled this check. Problem reported by Bartek Kania <mrbk@gnarf.org> in [quagga-users 7388]. * aspath_test.c: (validate) Fix the sense of the aspath_loop_check, which was the wrong way around and had actually been testing for aspath_loop_check to be buggy.
Diffstat (limited to 'bgpd/bgp_aspath.c')
-rw-r--r--bgpd/bgp_aspath.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c
index d404309c..317e9f8d 100644
--- a/bgpd/bgp_aspath.c
+++ b/bgpd/bgp_aspath.c
@@ -926,14 +926,14 @@ aspath_firstas_check (struct aspath *aspath, as_t asno)
return 0;
}
-/* AS path loop check. If aspath contains asno then return 1. */
+/* AS path loop check. If aspath contains asno then return >= 1. */
int
aspath_loop_check (struct aspath *aspath, as_t asno)
{
struct assegment *seg;
int count = 0;
- if ( (aspath == NULL) || (aspath->segments) )
+ if ( (aspath == NULL) || (aspath->segments == NULL) )
return 0;
seg = aspath->segments;
@@ -1363,7 +1363,7 @@ aspath_str2aspath (const char *str)
{
enum as_token token = as_token_unknown;
u_short as_type;
- u_short asno = NULL;
+ u_short asno = 0;
struct aspath *aspath;
int needtype;