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
Touch seeded packages, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1532722

Title:
  /sbin/ifup:11:__GI_strncpy:strncpy:do_interface:main

Status in ifupdown package in Ubuntu:
  New

Bug description:
  The Ubuntu Error Tracker has been receiving reports about a problem
  regarding ifupdown.  This problem was most recently seen with version
  0.8.6ubuntu1, the problem page at
  https://errors.ubuntu.com/problem/6c970a32e2d96151cb8f99d98a460a42e697e6f2
  contains more details.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1532722/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to