Commit 9616e884b for imagemagick.org
commit 9616e884b5b7a37318cd75cd1bbd24fea07830bd
Author: Cristy <urban-warrior@imagemagick.org>
Date: Mon Jun 22 22:15:34 2026 -0400
https://github.com/ImageMagick/ImageMagick/issues/8815
diff --git a/MagickCore/constitute-private.h b/MagickCore/constitute-private.h
index 566a98df1..e08573a21 100644
--- a/MagickCore/constitute-private.h
+++ b/MagickCore/constitute-private.h
@@ -57,20 +57,21 @@ static inline Image *StrictReadImage(const ImageInfo *image_info,
{
LocaleUpper(magic);
if (IsAllowedCoder(magic) == MagickFalse)
- {
- (void) ThrowMagickException(exception,GetMagickModule(),
- OptionError, "ExplicitCoderNotAllowed","`%s'",
- image_info->filename);
+ {
+ (void) ThrowMagickException(exception,GetMagickModule(),
+ OptionError, "ExplicitCoderNotAllowed","`%s'",
+ image_info->filename);
+ return((Image *) NULL);
+ }
+ }
+ else
+ if (IsPathAccessible(image_info->filename) == MagickFalse)
+ {
+ (void) ThrowMagickException(exception,GetMagickModule(),
+ FileOpenError, "UnableToOpenFile","`%s'",
+ image_info->filename);
return((Image *) NULL);
}
- }
- if (IsPathAccessible(image_info->filename) == MagickFalse)
- {
- (void) ThrowMagickException(exception,GetMagickModule(),
- FileOpenError, "UnableToOpenFile","`%s'",
- image_info->filename);
- return((Image *) NULL);
- }
return(ReadImage(image_info,exception));
}
diff --git a/MagickCore/draw.c b/MagickCore/draw.c
index 9af278cb4..8294e38d0 100644
--- a/MagickCore/draw.c
+++ b/MagickCore/draw.c
@@ -58,6 +58,7 @@
#include "MagickCore/composite.h"
#include "MagickCore/composite-private.h"
#include "MagickCore/constitute.h"
+#include "MagickCore/constitute-private.h"
#include "MagickCore/draw.h"
#include "MagickCore/draw-private.h"
#include "MagickCore/enhance.h"
@@ -5729,8 +5730,7 @@ MagickExport MagickBooleanType DrawPrimitive(Image *image,
affine;
char
- composite_geometry[MagickPathExtent],
- magic[MagickPathExtent] = {'\0'};
+ composite_geometry[MagickPathExtent];
Image
*composite_image,
@@ -5768,12 +5768,7 @@ MagickExport MagickBooleanType DrawPrimitive(Image *image,
clone_info->size=DestroyString(clone_info->size);
if (clone_info->extract != (char *) NULL)
clone_info->extract=DestroyString(clone_info->extract);
- GetPathComponent(clone_info->filename,MagickPath,magic);
- if (*magic == '\0')
- composite_images=ReadImage(clone_info,exception);
- else
- (void) ThrowMagickException(exception,GetMagickModule(),
- FileOpenError,"UnableToOpenFile","`%s'",clone_info->filename);
+ composite_images=StrictReadImage(clone_info,exception);
}
clone_info=DestroyImageInfo(clone_info);
if (composite_images == (Image *) NULL)