Commit 38532037a for imagemagick.org

commit 38532037a93a900f10f2424f7c319d4dd1f41a44
Author: Jake Lodwick <jakelodwick@users.noreply.github.com>
Date:   Sun Mar 1 11:53:57 2026 -0700

    Add overflow checks to PS3 write path (#8590)

diff --git a/coders/ps3.c b/coders/ps3.c
index 2b02d49b5..38099a7a1 100644
--- a/coders/ps3.c
+++ b/coders/ps3.c
@@ -325,6 +325,10 @@ static MagickBooleanType SerializeImage(const ImageInfo *image_info,
   const Quantum
     *p;

+  size_t
+    channels,
+    extent;
+
   ssize_t
     x;

@@ -339,8 +343,13 @@ static MagickBooleanType SerializeImage(const ImageInfo *image_info,
   if (IsEventLogging() != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
   status=MagickTrue;
-  *length=(image->colorspace == CMYKColorspace ? 4 : 3)*(size_t)
-    image->columns*image->rows;
+  channels=(image->colorspace == CMYKColorspace ? 4 : 3);
+  if (HeapOverflowSanityCheckGetSize(channels,(size_t) image->columns,
+        &extent) != MagickFalse)
+    ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
+  if (HeapOverflowSanityCheckGetSize(extent,image->rows,length) !=
+        MagickFalse)
+    ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
   *pixel_info=AcquireVirtualMemory(*length,sizeof(*q));
   if (*pixel_info == (MemoryInfo *) NULL)
     ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");