Thanks Brian, this was really helpful!
This stack trace pinpoints the particular strncpy() call in
do_interface:
if (current_state != NULL) {
strncpy(liface, current_state, 80);
liface is correct ("lo"), but current_state is bogus (0x1). We see that
lock_interface() failed as lock == NULL, but lock isn't being tested
after calling lock_interface(). Hence "current_state" never actually
gets initialized. The obvious exit path in lock_interface() is
if (lock_fp == NULL) {
if (!no_act) {
fprintf(stderr, "%s: failed to open lockfile %s: %s\n",
argv0, filename, strerror(errno));
exit(1);
} else {
return NULL;
}
}
i. e. this happens if the interface is locked.
For the record, I set bug 1337873 to failed, which is the SRU tracking
bug for landing the per-interface locking into stables.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1532722
Title:
/sbin/ifup:11:__GI_strncpy:strncpy:do_interface:main
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1532722/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs