From 17060f02ccf78610e6921f58f4b354602e777df6 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 7 May 2021 20:52:49 +0900 Subject: [PATCH] network: nexthop: add NextHop object before sending netlink request Otherwise, if nexthop_add() fails, then assertion about nexthop_messages in static_nexthop_handler() will be triggered. --- src/network/networkd-nexthop.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/network/networkd-nexthop.c b/src/network/networkd-nexthop.c index b0759cac901..661310352ca 100644 --- a/src/network/networkd-nexthop.c +++ b/src/network/networkd-nexthop.c @@ -413,7 +413,7 @@ static int nexthop_configure( NextHop **ret) { _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *req = NULL; - int r; + int r, k; assert(link); assert(link->manager); @@ -458,6 +458,10 @@ static int nexthop_configure( } } + k = nexthop_add(link, nexthop, ret); + if (k < 0) + return log_link_error_errno(link, k, "Could not add nexthop: %m"); + r = netlink_call_async(link->manager->rtnl, NULL, req, callback, link_netlink_destroy_callback, link); if (r < 0) @@ -465,11 +469,7 @@ static int nexthop_configure( link_ref(link); - r = nexthop_add(link, nexthop, ret); - if (r < 0) - return log_link_error_errno(link, r, "Could not add nexthop: %m"); - - return r; + return k; } static int static_nexthop_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) { -- 2.47.3