Make ifconfig always exit with an error code if an important ioctl fails
PR: 203062 Arm Twisting by: Kristof Provost Reviewed by: kp Approved by: bapt (mentor) MFC after: 2 weeks Relnotes: yes Sponsored by: ScaleEngine Inc. Sponsored by: vBSDCon Differential Revision: https://reviews.freebsd.org/D3644
This commit is contained in:
parent
a14bc739d5
commit
cc59771c4a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=287842
@ -995,7 +995,7 @@ setifmetric(const char *val, int dummy __unused, int s,
|
||||
strncpy(ifr.ifr_name, name, sizeof (ifr.ifr_name));
|
||||
ifr.ifr_metric = atoi(val);
|
||||
if (ioctl(s, SIOCSIFMETRIC, (caddr_t)&ifr) < 0)
|
||||
warn("ioctl (set metric)");
|
||||
err(1, "ioctl SIOCSIFMETRIC (set metric)");
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1005,7 +1005,7 @@ setifmtu(const char *val, int dummy __unused, int s,
|
||||
strncpy(ifr.ifr_name, name, sizeof (ifr.ifr_name));
|
||||
ifr.ifr_mtu = atoi(val);
|
||||
if (ioctl(s, SIOCSIFMTU, (caddr_t)&ifr) < 0)
|
||||
warn("ioctl (set mtu)");
|
||||
err(1, "ioctl SIOCSIFMTU (set mtu)");
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1015,15 +1015,12 @@ setifname(const char *val, int dummy __unused, int s,
|
||||
char *newname;
|
||||
|
||||
newname = strdup(val);
|
||||
if (newname == NULL) {
|
||||
warn("no memory to set ifname");
|
||||
return;
|
||||
}
|
||||
if (newname == NULL)
|
||||
err(1, "no memory to set ifname");
|
||||
ifr.ifr_data = newname;
|
||||
if (ioctl(s, SIOCSIFNAME, (caddr_t)&ifr) < 0) {
|
||||
warn("ioctl (set name)");
|
||||
free(newname);
|
||||
return;
|
||||
err(1, "ioctl SIOCSIFNAME (set name)");
|
||||
}
|
||||
strlcpy(name, newname, sizeof(name));
|
||||
free(newname);
|
||||
@ -1050,7 +1047,7 @@ setifdescr(const char *val, int dummy __unused, int s,
|
||||
}
|
||||
|
||||
if (ioctl(s, SIOCSIFDESCR, (caddr_t)&ifr) < 0)
|
||||
warn("ioctl (set descr)");
|
||||
err(1, "ioctl SIOCSIFDESCR (set descr)");
|
||||
|
||||
free(newdescr);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user