[libzstd] Fix estimate with negative levels
* Fix `ZSTD_estimateCCtxSize()` with negative levels. * Fix `ZSTD_estimateCStreamSize()` with negative levels. * Add a unit test to test for this error.
This commit is contained in:
@@ -1013,7 +1013,7 @@ size_t ZSTD_estimateCCtxSize(int compressionLevel)
|
||||
{
|
||||
int level;
|
||||
size_t memBudget = 0;
|
||||
for (level=1; level<=compressionLevel; level++) {
|
||||
for (level=MIN(compressionLevel, 1); level<=compressionLevel; level++) {
|
||||
size_t const newMB = ZSTD_estimateCCtxSize_internal(level);
|
||||
if (newMB > memBudget) memBudget = newMB;
|
||||
}
|
||||
@@ -1049,7 +1049,7 @@ size_t ZSTD_estimateCStreamSize(int compressionLevel)
|
||||
{
|
||||
int level;
|
||||
size_t memBudget = 0;
|
||||
for (level=1; level<=compressionLevel; level++) {
|
||||
for (level=MIN(compressionLevel, 1); level<=compressionLevel; level++) {
|
||||
size_t const newMB = ZSTD_estimateCStreamSize_internal(level);
|
||||
if (newMB > memBudget) memBudget = newMB;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user