diff options
author | 2020-08-01 23:41:55 +0000 | |
---|---|---|
committer | 2020-08-01 23:41:55 +0000 | |
commit | 41d03808d33adb44a4899ee88e35540765225e61 (patch) | |
tree | 455ef68189d405e9696886b2748f415c45b1244c /sys/netmpls | |
parent | Clean up/simplify more of the dtls1/ssl3 record writing code: (diff) | |
download | wireguard-openbsd-41d03808d33adb44a4899ee88e35540765225e61.tar.xz wireguard-openbsd-41d03808d33adb44a4899ee88e35540765225e61.zip |
Move range check inside sysctl_int_arr
Range violations are now consistently reported as EOPNOTSUPP.
Previously they were mixed with ENOPROTOOPT.
OK kn@
Diffstat (limited to 'sys/netmpls')
-rw-r--r-- | sys/netmpls/mpls_raw.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/netmpls/mpls_raw.c b/sys/netmpls/mpls_raw.c index c87158a91cb..dd6c0f62e41 100644 --- a/sys/netmpls/mpls_raw.c +++ b/sys/netmpls/mpls_raw.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mpls_raw.c,v 1.16 2019/11/05 08:26:38 claudio Exp $ */ +/* $OpenBSD: mpls_raw.c,v 1.17 2020/08/01 23:41:56 gnezdo Exp $ */ /* * Copyright (C) 1999, 2000 and 2001 AYAME Project, WIDE Project. @@ -57,16 +57,13 @@ int mpls_sysctl(int *name, u_int namelen, void *oldp, size_t *oldlenp, void *newp, size_t newlen) { - if (name[0] >= MPLSCTL_MAXID) - return (EOPNOTSUPP); - /* Almost all sysctl names at this level are terminal. */ if (namelen != 1) return (ENOTDIR); switch (name[0]) { default: - return sysctl_int_arr(mplsctl_vars, name, namelen, - oldp, oldlenp, newp, newlen); + return sysctl_int_arr(mplsctl_vars, nitems(mplsctl_vars), name, + namelen, oldp, oldlenp, newp, newlen); } } |