[bgp] Fix SEGV if empty path is confed-compared ([quagga-users 5968])

2005-11-23 Paul Jakma <paul.jakma@sun.com>

	* bgp_aspath.c: (assegments_parse) should be static

2005-11-23 Juergen Kammer <j.kammer@eurodata.de>

	* bgp_aspath.c: (aspath_cmp_left_confed) fix SEGV for case
	  where one or both paths are empty.
diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c
index 7f85ea1..9ff1205 100644
--- a/bgpd/bgp_aspath.c
+++ b/bgpd/bgp_aspath.c
@@ -596,7 +596,7 @@
 }
 
 /* parse as-segment byte stream in struct assegment */
-struct assegment *
+static struct assegment *
 assegments_parse (struct stream *s, size_t length)
 {
   struct assegment_header segh;
@@ -1155,6 +1155,9 @@
   if (! (aspath1 && aspath2) )
     return 0;
   
+  if ( !(aspath1->segments && aspath2->segments) )
+    return 0;
+  
   if ( (aspath1->segments->type != AS_CONFED_SEQUENCE)
       || (aspath2->segments->type != AS_CONFED_SEQUENCE) )
     return 0;