From 72a40a26735c89bbfce2340e74411a82c192a462 Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Thu, 1 Dec 2016 18:14:07 +0100 Subject: [PATCH] Fixed potential void-safety issue in descendants related to initialization of router and filter. --- .../router/wsf_filtered_routed_execution.e | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/library/server/wsf/router/wsf_filtered_routed_execution.e b/library/server/wsf/router/wsf_filtered_routed_execution.e index 68129add..bec9a6e7 100644 --- a/library/server/wsf/router/wsf_filtered_routed_execution.e +++ b/library/server/wsf/router/wsf_filtered_routed_execution.e @@ -29,21 +29,29 @@ inherit feature {NONE} -- Initialize initialize + do + create_filtered_router + initialize_filtered_router + end + + create_filtered_router + -- Create `router` and `filter`. + do + create_router + create_filter + end + + initialize_filtered_router + -- Initialize `router` and `filter`. local f: like filter do - Precursor {WSF_ROUTED_EXECUTION} - Precursor {WSF_FILTERED_EXECUTION} + initialize_router + initialize_filter + -- Current is a WSF_FILTER as well in order to call the router -- let's add Current at the end of the filter chain. - from - f := filter - until - not attached f.next as l_next - loop - f := l_next - end - f.set_next (Current) + append_filter (Current) end feature -- Execute Filter