From 4a4694864804d53439d4caa32c1b794b5b477c15 Mon Sep 17 00:00:00 2001 From: eknizat <26163420+eknizat@users.noreply.github.com> Date: Wed, 15 Apr 2020 13:37:33 +0100 Subject: [PATCH] There is an NPE in libreoffice when the external files are not present and debug is enabled (#218) ATS-714: Fix NPE in libreoffice executor when the external files are not present and debug is enabled --- .../executors/JodConverterSharedInstance.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transformer/executors/JodConverterSharedInstance.java b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transformer/executors/JodConverterSharedInstance.java index e6c4579f..8dca7a0d 100644 --- a/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transformer/executors/JodConverterSharedInstance.java +++ b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transformer/executors/JodConverterSharedInstance.java @@ -438,9 +438,19 @@ public class JodConverterSharedInstance implements JodConverter } File[] matchingFiles = searchRoot.listFiles((dir, name) -> name.startsWith("soffice")); + if (matchingFiles == null) + { + return results; + } results.addAll(asList(matchingFiles)); - for (File dir : requireNonNull(searchRoot.listFiles(File::isDirectory))) + File[] matchingDirectories = searchRoot.listFiles(File::isDirectory); + if (matchingDirectories == null) + { + return results; + } + + for (File dir : requireNonNull(matchingDirectories)) { findSofficePrograms(dir, results, currentRecursionDepth + 1, maxRecursionDepth); }