From: Yu Watanabe Date: Tue, 26 Feb 2019 05:34:25 +0000 (+0900) Subject: network: make ndisc_router_process_options() propagate error X-Git-Tag: v242-rc1~238^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e8c9b5b06f762254d17e41663760708cba8ede79;p=thirdparty%2Fsystemd.git network: make ndisc_router_process_options() propagate error And its caller ignore the error. --- diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c index c3053c007b8..d99c0670e8b 100644 --- a/src/network/networkd-ndisc.c +++ b/src/network/networkd-ndisc.c @@ -493,7 +493,7 @@ static void ndisc_router_process_dnssl(Link *link, sd_ndisc_router *rt) { } } -static void ndisc_router_process_options(Link *link, sd_ndisc_router *rt) { +static int ndisc_router_process_options(Link *link, sd_ndisc_router *rt) { int r; assert(link); @@ -503,18 +503,14 @@ static void ndisc_router_process_options(Link *link, sd_ndisc_router *rt) { for (;;) { uint8_t type; - if (r < 0) { - log_link_warning_errno(link, r, "Failed to iterate through options: %m"); - return; - } + if (r < 0) + return log_link_warning_errno(link, r, "Failed to iterate through options: %m"); if (r == 0) /* EOF */ break; r = sd_ndisc_router_option_get_type(rt, &type); - if (r < 0) { - log_link_warning_errno(link, r, "Failed to get RA option type: %m"); - return; - } + if (r < 0) + return log_link_warning_errno(link, r, "Failed to get RA option type: %m"); switch (type) { @@ -522,10 +518,8 @@ static void ndisc_router_process_options(Link *link, sd_ndisc_router *rt) { uint8_t flags; r = sd_ndisc_router_prefix_get_flags(rt, &flags); - if (r < 0) { - log_link_warning_errno(link, r, "Failed to get RA prefix flags: %m"); - return; - } + if (r < 0) + return log_link_warning_errno(link, r, "Failed to get RA prefix flags: %m"); if (link->network->ipv6_accept_ra_use_onlink_prefix) if (flags & ND_OPT_PI_FLAG_ONLINK) @@ -555,6 +549,8 @@ static void ndisc_router_process_options(Link *link, sd_ndisc_router *rt) { r = sd_ndisc_router_option_next(rt); } + + return 0; } static int ndisc_router_handler(Link *link, sd_ndisc_router *rt) { @@ -581,8 +577,8 @@ static int ndisc_router_handler(Link *link, sd_ndisc_router *rt) { } } - ndisc_router_process_default(link, rt); - ndisc_router_process_options(link, rt); + (void) ndisc_router_process_default(link, rt); + (void) ndisc_router_process_options(link, rt); return r; }