Previously, a nonexistent interface would be converted to the invalid
interface index 0. This is now rejected by the kernel, but route(8) can
give a better error message by failing fast.
---
sbin/route/route.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git sbin/route/route.c sbin/route/route.c
index f1ec5bd38d8..13ab171cfd4 100644
--- sbin/route/route.c
+++ sbin/route/route.c
@@ -899,7 +899,8 @@ getaddr(int which, int af, char *s, struct hostent **hpp)
}
case AF_LINK:
- su->sdl.sdl_index = if_nametoindex(s);
+ if ((su->sdl.sdl_index = if_nametoindex(s)) == 0)
+ errx(1, "no such interface %s", s);
memset(&su->sdl.sdl_data, 0, sizeof(su->sdl.sdl_data));
return (1);
case AF_MPLS:
--
2.26.2