Skip to content

equeue_unqueue corrupting queue list if done on a sibling. #11

Description

@daid

I'm still investigating this fully, but I think the equeue_unqueue function corrupts the linked list administration of the event queue if cancel is called on a event that is a sibling of the main linked list.

equeue_unqueue seems to assume &e->next == e->next->ref, which is no longer true on a sibling, as I think e->next is basicly invalid on a sibling (as e->next is also not updated if an entry is inserted after the parent of the sibling)

Not sure what a proper fix is yet. (Note, found this issue as part of mbed-os)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions