Just a tiny bit of extra security.
parent
a183baebb4
commit
d247c85ee9
|
@ -103,7 +103,7 @@ namespace GarrysMod.AddonCreator
|
||||||
// extract files
|
// extract files
|
||||||
foreach (var file in addon.Files)
|
foreach (var file in addon.Files)
|
||||||
{
|
{
|
||||||
var relpath = file.Key;
|
var relpath = file.Key.Replace(Path.DirectorySeparatorChar, '/');
|
||||||
var targetFile =
|
var targetFile =
|
||||||
new FileInfo(Path.Combine(folder.FullName,
|
new FileInfo(Path.Combine(folder.FullName,
|
||||||
relpath.Replace('/', Path.DirectorySeparatorChar)));
|
relpath.Replace('/', Path.DirectorySeparatorChar)));
|
||||||
|
@ -112,8 +112,8 @@ namespace GarrysMod.AddonCreator
|
||||||
|
|
||||||
// create directory
|
// create directory
|
||||||
var dir = targetFile.Directory;
|
var dir = targetFile.Directory;
|
||||||
if (dir == null)
|
if (dir == null || relpath.Contains("../"))
|
||||||
continue; // I still need to think about the weird logic here
|
continue; // relative path trying to be sneaky here
|
||||||
dir.Create();
|
dir.Create();
|
||||||
|
|
||||||
// create file
|
// create file
|
||||||
|
|
Loading…
Reference in New Issue