summaryrefslogtreecommitdiff
path: root/networking/nameif.c
diff options
context:
space:
mode:
authorGlenn L McGrath2002-12-13 09:02:16 +0000
committerGlenn L McGrath2002-12-13 09:02:16 +0000
commit8b08bda66b899cde8fae05fc6f76a18a62a25400 (patch)
treed1e58bc905039e8f69340d32cf662a44b4d7a406 /networking/nameif.c
parent25fe94fd32f39a76294456a7bc7b8dd0595afb0d (diff)
downloadbusybox-8b08bda66b899cde8fae05fc6f76a18a62a25400.zip
busybox-8b08bda66b899cde8fae05fc6f76a18a62a25400.tar.gz
Fix bug when reading mac from command line, continue; if hwaddrr not found
Diffstat (limited to 'networking/nameif.c')
-rw-r--r--networking/nameif.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/networking/nameif.c b/networking/nameif.c
index 1edd641..4b2d090 100644
--- a/networking/nameif.c
+++ b/networking/nameif.c
@@ -67,7 +67,7 @@ static void serror_msg_and_die(const char use_syslog, const char *s, ...)
}
va_end(ap);
-
+
exit(EXIT_FAILURE);
}
@@ -121,7 +121,7 @@ int nameif_main(int argc, char **argv)
ch = xcalloc(1, sizeof(mactable_t));
ch->ifname = strdup(argv[optind - 1]);
ch->mac = xcalloc(1, ETH_ALEN);
- memcpy(ch->mac, &mac, ETH_ALEN);
+ memcpy(ch->mac, mac, ETH_ALEN);
optind++;
if (clist)
clist->pprev = &ch->next;
@@ -186,7 +186,8 @@ int nameif_main(int argc, char **argv)
memset(&ifr, 0, sizeof(struct ifreq));
strncpy(ifr.ifr_name, line_ptr, iface_name_length);
if (ioctl(ctl_sk, SIOCGIFHWADDR, &ifr) < 0) {
- serror_msg_and_die(use_syslog, "cannot change name of %s to %s: %s", ifr.ifr_name, ch->ifname, strerror(errno));
+// serror_msg(use_syslog, "cannot read hardware address of %s: %s", ifr.ifr_name, strerror(errno));
+ continue;
}
for (ch = clist; ch; ch = ch->next)
if (!memcmp(ch->mac, ifr.ifr_hwaddr.sa_data, ETH_ALEN))
@@ -194,6 +195,7 @@ int nameif_main(int argc, char **argv)
if (ch == NULL) {
continue;
}
+
strcpy(ifr.ifr_newname, ch->ifname);
if (ioctl(ctl_sk, SIOCSIFNAME, &ifr) < 0) {;