Commit 39ad88fc5 for imagemagick.org

commit 39ad88fc5637b0ed9d2adbf37c3c5f6f174c63a3
Author: Cristy <urban-warrior@imagemagick.org>
Date:   Fri Oct 30 21:45:36 2026 -0400

    https://github.com/ImageMagick/ImageMagick/pull/9062

diff --git a/MagickCore/distribute-cache.c b/MagickCore/distribute-cache.c
index 1cad3327d..331ed68e3 100644
--- a/MagickCore/distribute-cache.c
+++ b/MagickCore/distribute-cache.c
@@ -870,7 +870,7 @@ static int ComputeHMACSHA256Mac(const void *key,size_t key_length,
       ((message == (const void *) NULL) && (message_length != 0)))
     return(-1);
   if (key_length > 64)
-    ComputeSHA256Hash(key,key_length,k_prime);
+    ComputeSHA256Hash((unsigned char *) key,key_length,k_prime);
   else
     (void) memcpy(k_prime,key,key_length);
   /*
@@ -886,7 +886,7 @@ static int ComputeHMACSHA256Mac(const void *key,size_t key_length,
   */
   InitializeSHA256Hash(&sha256_hash);
   UpdateSHA256Hash(&sha256_hash,inner_pad,64);
-  UpdateSHA256Hash(&sha256_hash,message,message_length);
+  UpdateSHA256Hash(&sha256_hash,(unsigned char *) message,message_length);
   FinalizeSHA256Hash(&sha256_hash,inner_hash);
   /*
     Outer hash: SHA256(outer pad || inner hash)
diff --git a/MagickCore/stream.c b/MagickCore/stream.c
index 8e37d8b5a..339e1e0f9 100644
--- a/MagickCore/stream.c
+++ b/MagickCore/stream.c
@@ -1295,9 +1295,23 @@ static size_t WriteStreamImage(const Image *image,const void *pixels,
     Write a portion of the pixel row to the stream.
   */
   (void) StreamImagePixels(stream_info,image,stream_info->exception);
-  length=packet_size*extract_info.width;
-  count=WriteBlob(stream_info->stream,length,stream_info->pixels+(ssize_t)
-    packet_size*extract_info.x);
+  count=1;
+  if ((extract_info.x < (ssize_t) image->columns) &&
+      ((extract_info.x + (ssize_t) extract_info.width) > 0))
+    {
+      ssize_t x = extract_info.x;
+      size_t width = extract_info.width;
+      if (x < 0)
+        {
+          width+=x;
+          x=0;
+        }
+      if ((x+(ssize_t) width) > (ssize_t) image->columns)
+        width=(size_t) ((ssize_t) image->columns-x);
+      length=packet_size*width;
+      count=WriteBlob(stream_info->stream,length,stream_info->pixels+
+        packet_size*x);
+    }
   stream_info->y++;
   return(count == 0 ? 0 : columns);
 }