summaryrefslogtreecommitdiff
path: root/net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths
blob: d008d4cf070cebd286768519dc5c3378ca4ac3df (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From b6caccfd45fb639b6dd3a8d140d3c5ba4cc79311 Mon Sep 17 00:00:00 2001
From: Maria Matejka <mq@ucw.cz>
Date: Thu, 19 Dec 2024 11:00:15 +0100
Subject: [PATCH] Kernel: Fix crash for merge paths on if no route is in BIRD

There was a missing check for a NULL return value.
Also fixed an indenting error.

Thanks to Radu Anghel for reporting it:
https://bird.network.cz/pipermail/bird-users/2024-December/017977.html
---
 nest/rt-table.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/nest/rt-table.c b/nest/rt-table.c
index fd8bb50dd..05191d743 100644
--- nest/rt-table.c
+++ nest/rt-table.c
@@ -5265,14 +5265,14 @@ krt_export_net(struct channel *c, const net_addr *a, linpool *lp)
   if (c->ra_mode == RA_MERGED)
   {
     struct rt_export_feed *feed = rt_net_feed(c->table, a, NULL);
-    if (!feed->count_routes)
+    if (!feed || !feed->count_routes)
       return NULL;
 
     if (!bmap_test(&c->export_accepted_map, feed->block[0].id))
       return NULL;
 
     return rt_export_merged(c, feed, lp, 1);
-    }
+  }
 
   static _Thread_local rte best;
   best = rt_net_best(c->table, a);
-- 
GitLab