inline void
insque(void *a, void *b)
{
        register struct quehead *element = (struct quehead *) a;
        register struct quehead *head = (struct quehead *) b;
        element->qh_link = head->qh_link;

(line 27 is the last line)

(gdb) p *element
Cannot access memory at address 0x0
(gdb) p a
$3 = (void *) 0x0

This is called from here in slirp/if.c:

        /* If there are more packets for this session, re-queue them */
        if (ifm->ifs_next != /* ifm->ifs_prev != */ ifm) {
                insque(ifm->ifs_next, ifqt);
                ifs_remque(ifm);
        }

It sounds like ifm expects its last element to have ifm->ifs_next = ifm,
but it's actually == NULL.

I don't see any changes to this file likely to have introduced the
regression, looking further up the stack.


** Also affects: qemu
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/932539

Title:
  qemu exits with -11 when connecting to a port redirect before the
  service starts listening

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/932539/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to