From c46ed676d4e37471ad42cd6c3fcc9b12149b4ade Mon Sep 17 00:00:00 2001 From: morkt Date: Fri, 2 Feb 2018 03:27:05 +0400 Subject: [PATCH] (AI6WIN): filenames may contain paths. --- ArcFormats/Silky/ArcAi6Win.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ArcFormats/Silky/ArcAi6Win.cs b/ArcFormats/Silky/ArcAi6Win.cs index 12e4df8b..72e8269e 100644 --- a/ArcFormats/Silky/ArcAi6Win.cs +++ b/ArcFormats/Silky/ArcAi6Win.cs @@ -38,7 +38,7 @@ namespace GameRes.Formats.Silky public override string Tag { get { return "ARC/AI6WIN"; } } public override string Description { get { return "AI6WIN engine resource archive"; } } public override uint Signature { get { return 0; } } - public override bool IsHierarchic { get { return false; } } + public override bool IsHierarchic { get { return true; } } public override bool CanWrite { get { return false; } } public Ai6Opener () @@ -69,7 +69,8 @@ namespace GameRes.Formats.Silky for (int j = 0; j < name_length; ++j) { name_buffer[j] -= key--; - if (VFS.InvalidFileNameChars.Contains ((char)name_buffer[j])) // XXX + char c = (char)name_buffer[j]; + if (VFS.InvalidFileNameChars.Contains (c) && c != '/') return null; } var name = Encodings.cp932.GetString (name_buffer, 0, name_length);