From b800ee955dbb916f961fc738f4d5667def63ca99 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Tue, 23 Jan 2018 10:48:17 +0100
Subject: [PATCH] Backend: Fixed backend_do_call_outs() some more,

EXIT_CO() must support being called several times on the same struct.

Fixes remainder of [PIKE-55]/[PIKE-56].
---
 src/backend.cmod | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/backend.cmod b/src/backend.cmod
index 88f095c626..6f7428cff7 100644
--- a/src/backend.cmod
+++ b/src/backend.cmod
@@ -133,9 +133,9 @@ static int compat_box_dispatcher (struct fd_callback_box *box, int event);
 /* CALL OUT STUFF */
 
 #define EXIT_CO(X) do {						\
-    *(X->prev_arr) = X->next_arr;				\
+    if(X->prev_arr) *(X->prev_arr) = X->next_arr;		\
     if(X->next_arr) X->next_arr->prev_arr = X->prev_arr;	\
-    *(X->prev_fun) = X->next_fun;				\
+    if(X->prev_fun) *(X->prev_fun) = X->next_fun;		\
     if(X->next_fun) X->next_fun->prev_fun = X->prev_fun;	\
     (X)->next_arr = NULL;					\
     (X)->next_fun = NULL;					\
-- 
GitLab