From 304c08f8a35ca314810b7554fe7677555b1d10c8 Mon Sep 17 00:00:00 2001 From: hns Date: Tue, 9 Mar 2004 17:21:10 +0000 Subject: [PATCH] Fix bug where infinite recursion isn't detected in getNodeHref() --- src/helma/framework/core/Application.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/helma/framework/core/Application.java b/src/helma/framework/core/Application.java index 465da5b6..ddd52c51 100644 --- a/src/helma/framework/core/Application.java +++ b/src/helma/framework/core/Application.java @@ -1077,7 +1077,7 @@ public final class Application implements IPathElement, Runnable { } private final void composeHref(Object elem, StringBuffer b, int pathCount) { - if ((elem == null) || (pathCount > 20)) { + if ((elem == null) || (pathCount > 50)) { return; } @@ -1091,9 +1091,15 @@ public final class Application implements IPathElement, Runnable { return; } - composeHref(getParentElement(elem), b, pathCount++); - b.append(UrlEncoded.encode(getElementName(elem))); - b.append("/"); + // recurse to parent element + composeHref(getParentElement(elem), b, ++pathCount); + + // append ourselves + String ename = getElementName(elem); + if (ename != null) { + b.append(UrlEncoded.encode(ename)); + b.append("/"); + } } /**