summaryrefslogtreecommitdiff
path: root/src/network/networkd-route.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2022-10-03 12:35:29 +0900
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-10-03 09:15:10 +0200
commit0a8720c7f087f17061a501d50e0dcd87bb58fa32 (patch)
treee1125099658e396b6eeb2a6ca33f7ae64233e62e /src/network/networkd-route.c
parent2ff7862bf25be048315a8a87abf90ac1dd20d0fa (diff)
downloadsystemd-0a8720c7f087f17061a501d50e0dcd87bb58fa32.tar.gz
network: fix use-after-free
If the lifetime of the route is already expired, do not try to configure it. Fixes a use-after-free, as the Request object is already freed, thus, we cannot use Route or Link stored in Request object.
Diffstat (limited to 'src/network/networkd-route.c')
-rw-r--r--src/network/networkd-route.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
index 3f460e0ba4..f1fba4ff42 100644
--- a/src/network/networkd-route.c
+++ b/src/network/networkd-route.c
@@ -1382,6 +1382,8 @@ static int route_process_request(Request *req, Link *link, Route *route) {
}
else
route_cancel_requesting(route);
+
+ return 1;
}
r = route_configure(route, sec, link, req);