From 7a8beaca669df378b6acfeb74cdecd3c54a06258 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 28 Nov 2022 21:42:40 +0100 Subject: [PATCH] Fix stack overflow for looping constructs --- .../Elsa.Workflows.Core/Implementations/ActivityWalker.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/modules/Elsa.Workflows.Core/Implementations/ActivityWalker.cs b/src/modules/Elsa.Workflows.Core/Implementations/ActivityWalker.cs index 97771effe..e100acc24 100644 --- a/src/modules/Elsa.Workflows.Core/Implementations/ActivityWalker.cs +++ b/src/modules/Elsa.Workflows.Core/Implementations/ActivityWalker.cs @@ -37,6 +37,10 @@ public class ActivityWalker : IActivityWalker foreach (var port in ports) { + // Continue if the specified activity was already encountered. + if (collectedActivities.Contains(port)) + continue; + var childNode = collectedNodes.FirstOrDefault(x => x.Activity == port); if (childNode == null)