From 19513731f779d92676a676cac8ce2fc980e5d474 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Thu, 4 Oct 2018 07:44:56 +0200 Subject: [PATCH] Make MagicInfo an opaque type. --- MagickCore/magic.c | 24 ++++++++++++++++++++++++ MagickCore/magic.h | 23 +---------------------- coders/wpg.c | 4 ++-- 3 files changed, 27 insertions(+), 24 deletions(-) diff --git a/MagickCore/magic.c b/MagickCore/magic.c index 6c607bd40..8b65d5efa 100644 --- a/MagickCore/magic.c +++ b/MagickCore/magic.c @@ -82,6 +82,30 @@ typedef struct _MagicMapInfo const size_t length; } MagicMapInfo; + +struct _MagicInfo +{ + char + *path, + *name, + *target; + + unsigned char + *magic; + + size_t + length; + + MagickOffsetType + offset; + + MagickBooleanType + exempt, + stealth; + + size_t + signature; +}; /* Static declarations. diff --git a/MagickCore/magic.h b/MagickCore/magic.h index e4ef37195..3db829f57 100644 --- a/MagickCore/magic.h +++ b/MagickCore/magic.h @@ -23,28 +23,7 @@ extern "C" { #endif typedef struct _MagicInfo -{ - char - *path, - *name, - *target; - - unsigned char - *magic; - - size_t - length; - - MagickOffsetType - offset; - - MagickBooleanType - exempt, - stealth; - - size_t - signature; -} MagicInfo; + MagicInfo; extern MagickExport char **GetMagicList(const char *,size_t *,ExceptionInfo *); diff --git a/coders/wpg.c b/coders/wpg.c index 2f3f7a871..24ebf9af3 100644 --- a/coders/wpg.c +++ b/coders/wpg.c @@ -834,8 +834,8 @@ static Image *ExtractPostscript(Image *image,const ImageInfo *image_info, if(magic_info == (const MagicInfo *) NULL) goto FINISH_UNL; /* printf("Detected:%s \n",magic_info->name); */ if(exception->severity != UndefinedException) goto FINISH_UNL; - if(magic_info->name == (char *) NULL) goto FINISH_UNL; - (void) strncpy(clone_info->magick,magic_info->name,MagickPathExtent-1); + (void) strncpy(clone_info->magick,GetMagicName(magic_info), + MagickPathExtent-1); if (LocaleCompare(clone_info->magick,"PFB") != 0) { ThrowException(exception,CorruptImageError,"ImproperImageHeader", -- 2.40.0