mirror of
https://invent.kde.org/frameworks/kimageformats.git
synced 2025-06-03 17:08:08 -04:00
XCF: Fix OSS Fuzz issue 42527849
Fixes integer overflow when the value is -INT_MAX-1
This commit is contained in:
parent
1cb294545f
commit
348ddce987
@ -1305,21 +1305,22 @@ bool XCFImageFormat::loadLayerProperties(QDataStream &xcf_io, Layer &layer)
|
||||
case PROP_COMPOSITE_SPACE:
|
||||
property >> layer.compositeSpace;
|
||||
if (layer.compositeSpace < 0) {
|
||||
layer.compositeSpace = GimpColorSpace(-layer.compositeSpace);
|
||||
layer.compositeSpace = GimpColorSpace(layer.compositeSpace == std::numeric_limits<qint32>::lowest() ? 0 : -layer.compositeSpace);
|
||||
}
|
||||
break;
|
||||
|
||||
case PROP_COMPOSITE_MODE:
|
||||
property >> layer.compositeMode;
|
||||
if (layer.compositeMode < 0) {
|
||||
layer.compositeMode = XCFImageFormat::GimpCompositeMode(-layer.compositeMode);
|
||||
layer.compositeMode =
|
||||
XCFImageFormat::GimpCompositeMode(layer.compositeMode == std::numeric_limits<qint32>::lowest() ? 0 : -layer.compositeMode);
|
||||
}
|
||||
break;
|
||||
|
||||
case PROP_BLEND_SPACE:
|
||||
property >> layer.blendSpace;
|
||||
if (layer.blendSpace) {
|
||||
layer.blendSpace = GimpColorSpace(-layer.blendSpace);
|
||||
if (layer.blendSpace < 0) {
|
||||
layer.blendSpace = GimpColorSpace(layer.blendSpace == std::numeric_limits<qint32>::lowest() ? 0 : -layer.blendSpace);
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user