diff options
author | Glenn L McGrath <bug1@ihug.co.nz> | 2002-12-13 09:02:16 +0000 |
---|---|---|
committer | Glenn L McGrath <bug1@ihug.co.nz> | 2002-12-13 09:02:16 +0000 |
commit | 8b08bda66b899cde8fae05fc6f76a18a62a25400 (patch) | |
tree | d1e58bc905039e8f69340d32cf662a44b4d7a406 /networking | |
parent | 25fe94fd32f39a76294456a7bc7b8dd0595afb0d (diff) | |
download | busybox-8b08bda66b899cde8fae05fc6f76a18a62a25400.tar.gz |
Fix bug when reading mac from command line, continue; if hwaddrr not found
Diffstat (limited to 'networking')
-rw-r--r-- | networking/nameif.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/networking/nameif.c b/networking/nameif.c index 1edd64111..4b2d090ca 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) {; |