ImageMagick-6.9.9-28差分

ImageMagick-6.9.9-27差分 - yoyaのメモの続き

The latest release of ImageMagick is version 6.9.9-28

まとめ

  • XCF 読み込み修正
  • WEBP スタックオーバーフロー修正
560c560
<   image=(Image *) picture->custom_ptr;
---
>   image=(Image *) picture->user_data;

差分

  • XCF 画像のマルチレイヤー読み込みのエラーを修正
    • coders/xcf.c
250,251c250,251
<     case GIMP_ADDITION_MODE:     return(AddCompositeOp);
<     case GIMP_SUBTRACT_MODE:     return(SubtractCompositeOp);
---
>     case GIMP_ADDITION_MODE:     return(ModulusAddCompositeOp);
>     case GIMP_SUBTRACT_MODE:     return(ModulusSubtractCompositeOp);
260c260
<     case GIMP_DIVIDE_MODE:       return(DivideCompositeOp);
---
>     case GIMP_DIVIDE_MODE:       return(DivideDstCompositeOp);

* Fixed numerous memory leaks

ChangeLogにない差分
  • Perl xs に AutoThreshold メソッド追加
  • 非リニア Gray を sGray に分離
  • EOF チェックを追加
>         if (GetCharacter(jpeg_info) == EOF)
>           break;
  • magick/colorspace.c
    • GetImageColorspaceType 追加。
> MagickExport ColorspaceType GetImageColorspaceType(const Image *image,
>   ExceptionInfo *exception)
> {
>   ColorspaceType
>     colorspace;
>
>   ImageType
>     type;
>
>   assert(image != (Image *) NULL);
>   assert(image->signature == MagickCoreSignature);
>   if (image->debug != MagickFalse)
>     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
>   colorspace=image->colorspace;
>   type=IdentifyImageType(image,exception);
>   if ((type == BilevelType) || (type == GrayscaleType) ||
>       (type == GrayscaleMatteType))
>     colorspace=sGRAYColorspace;
>   return(colorspace);
> }
  • magick/nt-base.c
> #if defined(MAGICKCORE_INSTALLED_SUPPORT)
>   {
>     unsigned char
>       *path;
>
>     path=NTRegistryKeyLookup("LibPath");
>     if (path != (unsigned char *) NULL)
>       {
>         size_t
>           length;
>
>         wchar_t
>           lib_path[MagickPathExtent];
>
>         length=MultiByteToWideChar(CP_UTF8,0,(char *) path,-1,lib_path,
>           MagickPathExtent);
>         if (length != 0)
>           SetDllDirectoryW(lib_path);
>         path=(unsigned char *) RelinquishMagickMemory(path);
>       }
>   }
<         frame_info.outer_bevel=(ssize_t) frame_info.width/2;
---
>         frame_info.outer_bevel=(ssize_t) frame_info.width/2-1;
767c766
<       if ((montage_info->frame != (char *) NULL) && (bevel_width != 0))
---
>       if ((montage_info->frame != (char *) NULL) && (bevel_width > 0))

ChangeLog

2017-12-24  6.9.9-28 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.9-28, GIT revision 12438:b01f6cc52:20171225.

2017-12-18  6.9.9-28 Cristy  <quetzlzacatenango@image...>
  * Fix error reading multi-layer XCF image file.
  * Fix possible stack overflow in WEBP reader (reference
    https://github.com/ImageMagick/ImageMagick/issues/907)
  * Fixed numerous memory leaks (reference
    https://github.com/ImageMagick/ImageMagick/issues).