aboutsummaryrefslogtreecommitdiffstats
path: root/main/quagga/bgpd-route-selection-crash.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/quagga/bgpd-route-selection-crash.patch')
-rw-r--r--main/quagga/bgpd-route-selection-crash.patch16
1 files changed, 16 insertions, 0 deletions
diff --git a/main/quagga/bgpd-route-selection-crash.patch b/main/quagga/bgpd-route-selection-crash.patch
new file mode 100644
index 0000000000..3f1797395e
--- /dev/null
+++ b/main/quagga/bgpd-route-selection-crash.patch
@@ -0,0 +1,16 @@
+diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
+index 34ba1ab..ad8642e 100644
+--- a/bgpd/bgp_route.c
++++ b/bgpd/bgp_route.c
+@@ -348,9 +348,9 @@ bgp_info_cmp (struct bgp *bgp, struct bgp_info *new, struct bgp_info *exist,
+ *paths_eq = 0;
+
+ /* 0. Null check. */
+- if (new == NULL)
++ if (new == NULL || new->peer->su_remote == NULL)
+ return 0;
+- if (exist == NULL)
++ if (exist == NULL || exist->peer->su_remote == NULL)
+ return 1;
+
+ newattr = new->attr;