mirror of
https://github.com/revenz/FileFlowsPlugins.git
synced 2026-03-09 13:48:42 -05:00
fixing issue with int overflow in filesize compare
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user