aboutsummaryrefslogtreecommitdiffstats
path: root/main/quagga-nhrp/bgpd-route-selection-crash.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/quagga-nhrp/bgpd-route-selection-crash.patch')
-rw-r--r--main/quagga-nhrp/bgpd-route-selection-crash.patch16
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)