You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2015/09/25 20:59:19 UTC

incubator-freemarker git commit: Bug #439: FileTemplateLoader with emulateCaseSensitiveFileSystem set to true (used for development) wasn't properly synchronized, leading to random NullPointerException-s or other misbehavior.

Repository: incubator-freemarker
Updated Branches:
  refs/heads/2.3-gae f32a506a3 -> dfd07ec50


Bug #439: FileTemplateLoader with emulateCaseSensitiveFileSystem set to true (used for development) wasn't properly synchronized, leading to random NullPointerException-s or other misbehavior.


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

Branch: refs/heads/2.3-gae
Commit: dfd07ec50f0f4b9fa9eedc17ddba0d65fc001f3f
Parents: f32a506
Author: ddekany <dd...@apache.org>
Authored: Fri Sep 25 20:58:58 2015 +0200
Committer: ddekany <dd...@apache.org>
Committed: Fri Sep 25 20:58:58 2015 +0200

----------------------------------------------------------------------
 src/main/java/freemarker/cache/FileTemplateLoader.java |  6 ++++--
 src/manual/book.xml                                    | 11 +++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/dfd07ec5/src/main/java/freemarker/cache/FileTemplateLoader.java
----------------------------------------------------------------------
diff --git a/src/main/java/freemarker/cache/FileTemplateLoader.java b/src/main/java/freemarker/cache/FileTemplateLoader.java
index 0a88340..50108ff 100644
--- a/src/main/java/freemarker/cache/FileTemplateLoader.java
+++ b/src/main/java/freemarker/cache/FileTemplateLoader.java
@@ -225,8 +225,10 @@ public class FileTemplateLoader implements TemplateLoader {
      */
     private boolean isNameCaseCorrect(File source) throws IOException {
         final String sourcePath = source.getPath();
-        if (correctCasePaths.get(sourcePath) != null) {
-            return true;
+        synchronized (correctCasePaths) {
+            if (correctCasePaths.get(sourcePath) != null) {
+                return true;
+            }
         }
         
         final File parentDir = source.getParentFile();

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/dfd07ec5/src/manual/book.xml
----------------------------------------------------------------------
diff --git a/src/manual/book.xml b/src/manual/book.xml
index cf1efb6..57cdd37 100644
--- a/src/manual/book.xml
+++ b/src/manual/book.xml
@@ -26121,6 +26121,17 @@ TemplateModel x = env.getVariable("x");  // get variable x</programlisting>
             </listitem>
 
             <listitem>
+              <para>Bug fixed [<link
+              xlink:href="https://sourceforge.net/p/freemarker/bugs/439/">439</link>]:
+              <literal>FileTemplateLoader</literal> with
+              <literal>emulateCaseSensitiveFileSystem</literal> set to
+              <literal>true</literal> (used for development) wasn't properly
+              synchronized, leading to random
+              <literal>NullPointerException</literal>-s or other
+              misbehavior.</para>
+            </listitem>
+
+            <listitem>
               <para>Bug fixed: The (rarely used) cause exception of
               <literal>ParseException</literal>-s wasn't set</para>
             </listitem>