summaryrefslogtreecommitdiff
path: root/image/imgFrame.cpp
diff options
context:
space:
mode:
authorBrian Smith <brian@dbsoft.org>2022-04-26 10:13:11 -0500
committerBrian Smith <brian@dbsoft.org>2022-04-26 10:19:04 -0500
commit3daf711085889bad1bd68651bc4e8790412ae105 (patch)
treef5b0e4c1befb320cdf158e1839ac5e273373087f /image/imgFrame.cpp
parent7fe702603066e7f122d5dd66a3a1892ac7e06215 (diff)
downloaduxp-3daf711085889bad1bd68651bc4e8790412ae105.tar.gz
Issue #1829 - Revert “Issue #1751 -- Remove XP_MACOSX conditionals from the rest of the tree.”
This also removes some PP abuse and takes file entries out of PP when no longer needed without XP_MACOSX conditionals. This reverts commit 6f707bde95dab6998ac204f9ee6c925ee230c740.
Diffstat (limited to 'image/imgFrame.cpp')
-rw-r--r--image/imgFrame.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/image/imgFrame.cpp b/image/imgFrame.cpp
index e2be7673b4..9a0846bce2 100644
--- a/image/imgFrame.cpp
+++ b/image/imgFrame.cpp
@@ -123,12 +123,20 @@ AllowedImageSize(int32_t aWidth, int32_t aHeight)
return false;
}
- // check to make sure we don't overflow 32-bit size for RGBA
+ // check to make sure we don't overflow a 32-bit
CheckedInt32 requiredBytes = CheckedInt32(aWidth) * CheckedInt32(aHeight) * 4;
if (MOZ_UNLIKELY(!requiredBytes.isValid())) {
NS_WARNING("width or height too large");
return false;
}
+#if defined(XP_MACOSX)
+ // CoreGraphics is limited to images < 32K in *height*, so clamp all surfaces
+ // on the Mac to that height
+ if (MOZ_UNLIKELY(aHeight > SHRT_MAX)) {
+ NS_WARNING("image too big");
+ return false;
+ }
+#endif
return true;
}