File 0001-Fixes-a-bug-in-locking-code.patch of Package bird
From ab006391305165c805f75e3a2ce20946748233c9 Mon Sep 17 00:00:00 2001
From: Ondrej Zajicek <santiago@crfreenet.org>
Date: Sat, 21 Feb 2015 12:27:05 +0100
Subject: [PATCH] Fixes a bug in locking code.
When multiple protocols have a lock for the same IP address, it crashes
under some circumstances.
Thanks to Matthias Schiffer for the bugreport.
---
nest/locks.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/nest/locks.c b/nest/locks.c
index c74f2f4..ad2af49 100644
--- a/nest/locks.c
+++ b/nest/locks.c
@@ -70,7 +70,7 @@ olock_free(resource *r)
DBG("olock: -> %p becomes locked\n", n);
q = SKIP_BACK(struct object_lock, n, n);
rem_node(n);
- add_tail_list(&l->waiters, &q->waiters);
+ add_tail_list(&q->waiters, &l->waiters);
q->state = OLOCK_STATE_EVENT;
add_head(&olock_list, n);
ev_schedule(olock_event);
--
2.4.3