]> git.ipfire.org Git - thirdparty/bird.git/commit
Fixes nasty bug in event processing.
authorOndrej Zajicek <santiago@crfreenet.org>
Thu, 18 Dec 2008 22:26:08 +0000 (23:26 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Thu, 18 Dec 2008 22:26:08 +0000 (23:26 +0100)
commitb933281ed5efb9ad9375c3ea41ee2412b9f89c15
treeb90240786203e981319e9e1f3e131689e32f6b55
parent35164c501722f07beef21178b19090fa9d1930cd
Fixes nasty bug in event processing.

WALK_LIST_DELSAFE (in ev_run_list) is not safe with regard
to deletion of next node. When some events are rescheduled
during event execution, it may lead to deletion of next
node and some events are skipped. Such skipped nodes remain
in temporary list on stack and the last of them contains
'next' pointer to stack area. When this event is later
scheduled, it damages stack area trying to remove it from
the list, which leads to random crashes with funny
backtraces :-) .
lib/event.c
lib/lists.h