Commit 2ba2edfd0 for imagemagick.org
commit 2ba2edfd04a1ab3d45af4a0dc1e640dde7020192
Author: Dirk Lemstra <dirk@lemstra.org>
Date: Tue Sep 1 21:01:20 2026 +0200
More fixes for GHSA-5rg6-j44q-q892.
diff --git a/coders/pdf.c b/coders/pdf.c
index d76bd4458..18fb9504f 100644
--- a/coders/pdf.c
+++ b/coders/pdf.c
@@ -1907,6 +1907,9 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image,
if (labels != (char **) NULL)
for (i=0; labels[i] != (char *) NULL; i++)
{
+ char
+ *escape;
+
(void) WriteBlobString(image,"BT\n");
(void) FormatLocaleString(buffer,MagickPathExtent,"/F%.17g %g Tf\n",
(double) image->scene,pointsize);
@@ -1915,8 +1918,9 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image,
(double) geometry.x,(double) (geometry.y+(ssize_t) geometry.height+
i*pointsize+12));
(void) WriteBlobString(image,buffer);
- (void) FormatLocaleString(buffer,MagickPathExtent,"(%s) Tj\n",
- labels[i]);
+ escape=EscapeParenthesis(labels[i]);
+ (void) FormatLocaleString(buffer,MagickPathExtent,"(%s) Tj\n",escape);
+ escape=DestroyString(escape);
(void) WriteBlobString(image,buffer);
(void) WriteBlobString(image,"ET\n");
labels[i]=DestroyString(labels[i]);