Disallow directory traversal (Closes: CVE-2018-1002208)

Author: Jo Shields <joshield@microsoft.com>

---
--- a/mcs/class/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib/Zip/FastZip.cs
+++ b/mcs/class/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib/Zip/FastZip.cs
@@ -375,7 +375,8 @@ namespace ICSharpCode.SharpZipLib.Zip
 				
 				targetName = Path.Combine(targetDirectory, entryFileName);
 				dirName = Path.GetDirectoryName(Path.GetFullPath(targetName));
-	
+				if (!Path.GetFullPath(targetName).StartsWith(targetDirectory, StringComparison.InvariantCultureIgnoreCase))
+					throw new ZipException("Parent traversal in paths is not allowed");
 				doExtraction = doExtraction && (entryFileName.Length > 0);
 			}
 			
