Repository: incubator-freemarker
Updated Branches:
  refs/heads/3 be2d4fcc4 -> bc9edc0e9


Forward ported from 2.3: Bug fixed: For JSP Tag based custom tags, if an 
exception has occurred in the body (nested content), an 
IndexOutOfBoundsException might have occurred, replacing the original exception.


Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/bc9edc0e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/bc9edc0e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/bc9edc0e

Branch: refs/heads/3
Commit: bc9edc0e98caf59112ee07bc0d72b6676267fdc4
Parents: be2d4fc
Author: ddekany <ddek...@apache.org>
Authored: Sun Feb 4 13:07:22 2018 +0100
Committer: ddekany <ddek...@apache.org>
Committed: Sun Feb 4 13:07:41 2018 +0100

----------------------------------------------------------------------
 .../org/apache/freemarker/servlet/jsp/TagDirectiveModel.java   | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/bc9edc0e/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TagDirectiveModel.java
----------------------------------------------------------------------
diff --git 
a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TagDirectiveModel.java
 
b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TagDirectiveModel.java
index 3831c20..fdb3a58 100644
--- 
a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TagDirectiveModel.java
+++ 
b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TagDirectiveModel.java
@@ -134,6 +134,7 @@ class TagDirectiveModel extends JspTagModelBase implements 
TemplateDirectiveMode
         private final FreeMarkerPageContext pageContext;
         private boolean needPop = true;
         private final boolean needDoublePop;
+        private boolean closed = false;
 
         TagBodyContent(Writer out, Tag tag, FreeMarkerPageContext pageContext, 
boolean needDoublePop) {
             super((JspWriter) out, false);
@@ -244,6 +245,11 @@ class TagDirectiveModel extends JspTagModelBase implements 
TemplateDirectiveMode
 
         @Override
         public void close() {
+            if (closed) {
+                return;
+            }
+            closed = true;
+            
             if (needPop) {
                 pageContext.popWriter();
             }

Reply via email to