From 3537bcca468ee37c518e778d1bb21bd68827b80f Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Fri, 26 Aug 2016 12:25:31 -0700 Subject: [PATCH] [DatTools] Extension filter Parse --- SabreTools.Helper/Tools/DatTools.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/SabreTools.Helper/Tools/DatTools.cs b/SabreTools.Helper/Tools/DatTools.cs index c65cc142..10eeb460 100644 --- a/SabreTools.Helper/Tools/DatTools.cs +++ b/SabreTools.Helper/Tools/DatTools.cs @@ -79,6 +79,13 @@ namespace SabreTools.Helper /// DatData object representing the read-in data public static Dat Parse(string filename, int sysid, int srcid, Dat datdata, Logger logger, bool keep = false, bool clean = false, bool softlist = false, bool keepext = false) { + // Check the file extension first as a safeguard + string ext = Path.GetExtension(filename).ToLowerInvariant(); + if (ext != ".txt" && ext != ".dat" && ext != ".xml") + { + return datdata; + } + // If the output filename isn't set already, get the internal filename datdata.FileName = (String.IsNullOrEmpty(datdata.FileName) ? (keepext ? Path.GetFileName(filename) : Path.GetFileNameWithoutExtension(filename)) : datdata.FileName);