diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-10-03 12:35:29 +0900 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2022-10-03 09:15:10 +0200 |
commit | 0a8720c7f087f17061a501d50e0dcd87bb58fa32 (patch) | |
tree | e1125099658e396b6eeb2a6ca33f7ae64233e62e /src/network | |
parent | 2ff7862bf25be048315a8a87abf90ac1dd20d0fa (diff) | |
download | systemd-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')
-rw-r--r-- | src/network/networkd-route.c | 2 |
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); |