From 7fb8e44c3142d3fd78194d220fc245218693e7ed Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 29 Aug 2024 01:53:49 -0400 Subject: [PATCH] Forgot to assume directories don't exist --- CHANGELIST.md | 1 + MPF.Processors/CustomOutputFile.cs | 6 ++++++ MPF.Processors/OutputFile.cs | 6 ++++++ MPF.Processors/RegexOutputFile.cs | 6 ++++++ 4 files changed, 19 insertions(+) diff --git a/CHANGELIST.md b/CHANGELIST.md index 09ea087f..0735b626 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -63,6 +63,7 @@ - Add and use CustomOutputFile - Fix access permissions of output file classes - Handle XGD required files +- Forgot to assume directories don't exist ### 3.2.1 (2024-08-05) diff --git a/MPF.Processors/CustomOutputFile.cs b/MPF.Processors/CustomOutputFile.cs index d1074188..ee6a0e07 100644 --- a/MPF.Processors/CustomOutputFile.cs +++ b/MPF.Processors/CustomOutputFile.cs @@ -58,6 +58,12 @@ namespace MPF.Processors /// Base directory to check in public override bool Exists(string baseDirectory) { + // If the base directory is invalid + if (string.IsNullOrEmpty(baseDirectory)) + return false; + if (!Directory.Exists(baseDirectory)) + return false; + foreach (string filename in Filenames) { // Check for invalid filenames diff --git a/MPF.Processors/OutputFile.cs b/MPF.Processors/OutputFile.cs index 969eaf3f..9986846b 100644 --- a/MPF.Processors/OutputFile.cs +++ b/MPF.Processors/OutputFile.cs @@ -195,6 +195,12 @@ namespace MPF.Processors /// Base directory to check in public virtual bool Exists(string baseDirectory) { + // If the base directory is invalid + if (string.IsNullOrEmpty(baseDirectory)) + return false; + if (!Directory.Exists(baseDirectory)) + return false; + foreach (string filename in Filenames) { // Check for invalid filenames diff --git a/MPF.Processors/RegexOutputFile.cs b/MPF.Processors/RegexOutputFile.cs index e54d3ce5..68817dcf 100644 --- a/MPF.Processors/RegexOutputFile.cs +++ b/MPF.Processors/RegexOutputFile.cs @@ -47,6 +47,12 @@ namespace MPF.Processors /// public override bool Exists(string baseDirectory) { + // If the base directory is invalid + if (string.IsNullOrEmpty(baseDirectory)) + return false; + if (!Directory.Exists(baseDirectory)) + return false; + // Get list of all files in directory var directoryFiles = Directory.GetFiles(baseDirectory); foreach (string file in directoryFiles)