diff --git a/src/main/java/com/docus/server/collection/util/XmlUtil.java b/src/main/java/com/docus/server/collection/util/XmlUtil.java index a10dcef..17f60ce 100644 --- a/src/main/java/com/docus/server/collection/util/XmlUtil.java +++ b/src/main/java/com/docus/server/collection/util/XmlUtil.java @@ -245,7 +245,11 @@ public class XmlUtil { private static DocumentBuilderFactory getDocumentBuilderFactory() throws ParserConfigurationException { DocumentBuilderFactory dbf = XmlHelperHolder.documentBuilderFactory; if (!preventedXXE) { - preventXXE(dbf); + synchronized (XmlUtil.class) { + if (!preventedXXE) { + preventXXE(dbf); + } + } } return dbf; } diff --git a/src/main/java/com/docus/server/report/util/XmlUtil.java b/src/main/java/com/docus/server/report/util/XmlUtil.java index e199e2e..6402465 100644 --- a/src/main/java/com/docus/server/report/util/XmlUtil.java +++ b/src/main/java/com/docus/server/report/util/XmlUtil.java @@ -19,7 +19,10 @@ package com.docus.server.report.util; import com.docus.core.util.Exceptions; import com.docus.core.util.IoUtil; import org.springframework.lang.Nullable; -import org.w3c.dom.*; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import org.xml.sax.SAXException; @@ -245,7 +248,11 @@ public class XmlUtil { private static DocumentBuilderFactory getDocumentBuilderFactory() throws ParserConfigurationException { DocumentBuilderFactory dbf = XmlHelperHolder.documentBuilderFactory; if (!preventedXXE) { - preventXXE(dbf); + synchronized (XmlUtil.class) { + if (!preventedXXE) { + preventXXE(dbf); + } + } } return dbf; }