diff options
Diffstat (limited to 'main/quagga-nhrp/bgpd-route-selection-crash.patch')
-rw-r--r-- | main/quagga-nhrp/bgpd-route-selection-crash.patch | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/main/quagga-nhrp/bgpd-route-selection-crash.patch b/main/quagga-nhrp/bgpd-route-selection-crash.patch new file mode 100644 index 0000000000..473e4e564b --- /dev/null +++ b/main/quagga-nhrp/bgpd-route-selection-crash.patch @@ -0,0 +1,16 @@ +diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c +index 34ba1ab..7ade22f 100644 +--- a/bgpd/bgp_route.c ++++ b/bgpd/bgp_route.c +@@ -553,6 +553,11 @@ bgp_info_cmp (struct bgp *bgp, struct bgp_info *new, struct bgp_info *exist, + return 0; + + /* 13. Neighbor address comparision. */ ++ if (new->peer->su_remote == NULL) ++ return 0; ++ if (exist->peer->su_remote == NULL) ++ return 1; ++ + ret = sockunion_cmp (new->peer->su_remote, exist->peer->su_remote); + + if (ret == 1) |