fixing issue with int overflow in filesize compare

This commit is contained in:
John Andrews
2022-03-28 11:30:21 +13:00
parent 1883ffedd5
commit 27ece0efa6
2 changed files with 17 additions and 2 deletions

View File

@@ -31,9 +31,9 @@ namespace FileFlows.BasicNodes.File
public int TestSize(NodeParameters args, long size)
{
if (size < (Lower * 1024 * 1024))
if (size < (((long)Lower) * 1024 * 1024))
return 2;
if (Upper > 0 && size > (Upper * 1024 * 1024))
if (Upper > 0 && size > (((long)Upper) * 1024 * 1024))
return 2;
return 1;
}

View File

@@ -51,6 +51,21 @@ namespace BasicNodes.Tests
var result = pm.TestSize(Args, 5 * 1024 * 1024);
Assert.AreEqual(1, result);
}
[TestMethod]
public void FileSize_25GB()
{
FileSize pm = new FileSize();
pm.Upper = 25600;
long fileSize = 2240000000; // 2.24GB
var result = pm.TestSize(Args, fileSize);
Assert.AreEqual(1, result);
pm.Upper = 25600;
fileSize = 224000000000; // 2.24GB
result = pm.TestSize(Args, fileSize);
Assert.AreEqual(2, result);
}
}
}