From c377b245da3cd5d7daa6ab60f5f4501ef8fe6c99 Mon Sep 17 00:00:00 2001 From: Ryan Kurtz Date: Mon, 20 Mar 2023 12:48:41 -0400 Subject: [PATCH] GP-0: Creating BundleHost cache directory in a more reliable fashion --- .../ghidra/app/plugin/core/osgi/BundleHost.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/osgi/BundleHost.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/osgi/BundleHost.java index e528ec74a2..72e73a02cf 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/osgi/BundleHost.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/osgi/BundleHost.java @@ -15,9 +15,7 @@ */ package ghidra.app.plugin.core.osgi; -import java.io.IOException; -import java.io.PrintWriter; -import java.nio.file.Files; +import java.io.*; import java.nio.file.Path; import java.util.*; import java.util.Map.Entry; @@ -42,6 +40,7 @@ import ghidra.framework.plugintool.PluginTool; import ghidra.util.Msg; import ghidra.util.task.TaskLauncher; import ghidra.util.task.TaskMonitor; +import utilities.util.FileUtilities; /** * Hosts the embedded OSGi framework and manages {@link GhidraBundle}s. @@ -373,9 +372,11 @@ public class BundleHost { } private static String makeCacheDir() throws IOException { - Path cacheDir = getCacheDir(); - Files.createDirectories(cacheDir); - return cacheDir.toAbsolutePath().toString(); + File cacheDir = getCacheDir().toFile(); + if (!FileUtilities.mkdirs(cacheDir)) { + throw new IOException("Failed to make cache directory: " + cacheDir); + } + return cacheDir.getAbsolutePath(); } private void createAndConfigureFramework() throws IOException {