From e33387cc78508935c7ae6a5a1384be9fea584e17 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Wed, 14 May 2014 23:38:12 +0200 Subject: [PATCH] Fix memory pooling for deferred tasks Because of a mistake in the pointer arithmetic the wrong deferred would get freed, leading to wrong callbacks and even infinite loops in the list of callbacks. Probably/hopefully fixes bug #77. --- libmainloop/defer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libmainloop/defer.c b/libmainloop/defer.c index a9a77791..53f35df6 100644 --- a/libmainloop/defer.c +++ b/libmainloop/defer.c @@ -64,7 +64,7 @@ static WDeferred *alloc_defer() static void free_defer(WDeferred *d) { if(d>=dbuf && d