DF-0399 / fix.diff
diff --git a/sys/net/route.c b/sys/net/route.c --- a/sys/net/route.c +++ b/sys/net/route.c @@ -422,10 +422,13 @@ flags |= RTF_MODIFIED; /* We only need to report rtmsg on CPU0 */ - rt_setgate(rt, rt_key(rt), gateway); - if (mycpuid == 0) + error = rt_setgate(rt, rt_key(rt), gateway); + if (error) + stat = &rtstat.rts_badredirect; + else if (mycpuid == 0) rt_rtmsg(RTM_CHANGE, rt, rt->rt_ifp, 0); - error = 0; + if (!error) + error = 0; stat = &rtstat.rts_newgateway; } |