ImageMagick-6.9.9-32差分
ImageMagick-6.9.9-31差分 - yoyaのメモの続き
The latest release of ImageMagick is version 6.9.9-32
- 7 系同時リリースは ImageMagick-7.0.7-20
まとめ
メモリリークの修正。numerous(たくさん)
差分
- 沢山のメモリリーク修正
- https://github.com/ImageMagick/ImageMagick/issues
- coders/dcm.c
2987a2988,2995 > if (graymap != (int *) NULL) \ > graymap=(int *) RelinquishMagickMemory(graymap); \ > if (bluemap != (int *) NULL) \ > bluemap=(int *) RelinquishMagickMemory(bluemap); \ > if (greenmap != (int *) NULL) \ > greenmap=(int *) RelinquishMagickMemory(greenmap); \ > if (redmap != (int *) NULL) \ > redmap=(int *) RelinquishMagickMemory(redmap); \ 3072a3081,3084 > graymap=(int *) NULL; > redmap=(int *) NULL; > greenmap=(int *) NULL; > bluemap=(int *) NULL;
-
- /coders/pattern.c
981c981,984 < ThrowReaderException(OptionError,"UnrecognizedImageFormat"); --- > { > blob_info=DestroyImageInfo(blob_info); > ThrowReaderException(OptionError,"UnrecognizedImageFormat"); > } diff -r ImageMagick-6.9.9-31/coders/rla.c ImageMagick-6.9.9-32/coders/rla.c 292c292,295 < ThrowReaderException(CorruptImageError,"ImproperImageHeader"); --- > { > scanlines=(MagickOffsetType *) RelinquishMagickMemory(scanlines); > ThrowReaderException(CorruptImageError,"ImproperImageHeader"); > }
- magick/cache.c
1893c1893,1895 < if (status != MagickFalse) --- > if (status == MagickFalse) > clone_info=(CacheInfo *) DestroyPixelCache(clone_info); > else
ChangeLogにない差分
- 使ってる automake が 1.15 から 1.15.1 に
- coders/sixel.c
- バッファサイズ をMaxTextExtent 分多めに確保。
1002c1002,1003 < sixel_buffer=(char *) AcquireQuantumMemory((size_t) length,sizeof(*sixel_buffer)); --- > sixel_buffer=(char *) AcquireQuantumMemory((size_t) length+MaxTextExtent, > sizeof(*sixel_buffer)); 1015,1016c1016,1017 < sixel_buffer=(char *) ResizeQuantumMemory(sixel_buffer,length+MaxTextExtent, < sizeof(*sixel_buffer)); --- > sixel_buffer=(char *) ResizeQuantumMemory(sixel_buffer,length+ > MaxTextExtent,sizeof(*sixel_buffer)); 1023c1024 < --- > sixel_buffer[length]='\0';
- magick/identify.c
- ピクセルの透明度を探す処理のリファイン。
- 見つかったら途中で抜けるので、インデックスが途中だからアルファがあるというのを found のフラグ処理に変えてる。
978a979,981 > MagickBooleanType > found = MagickFalse; > 996c999,1002 < break; --- > { > found=MagickTrue; > break; > } 999c1005 < if (x < (ssize_t) image->columns) --- > if (found != MagickFalse) 1002c1008 < if ((x < (ssize_t) image->columns) || (y < (ssize_t) image->rows)) --- > if (found != MagickFalse) 1011,1012c1017 < if (p != (const PixelPacket *) NULL) < SetMagickPixelPacket(image,p,indexes+x,&pixel); --- > SetMagickPixelPacket(image,p,indexes+x,&pixel);
- magick/magick-baseconfig.h
- 何かの間違い?
415,417c415 < #ifndef MAGICKCORE_HAVE_LOCALE_T < #define MAGICKCORE_HAVE_LOCALE_T 1 < #endif --- > /* #undef HAVE_LOCALE_T */ 1062,1064c1060 < #ifndef MAGICKCORE_HAVE_XLOCALE_H < #define MAGICKCORE_HAVE_XLOCALE_H 1 < #endif
ChangeLog
2018-01-06 6.9.9-32 Cristy <quetzlzacatenango@image...> * Release ImageMagick version 6.9.9-32, GIT revision 12489:33a04d3e5:20180105. 2018-01-05 6.9.9-32 Cristy <quetzlzacatenango@image...> * Fixed numerous memory leaks (reference https://github.com/ImageMagick/ImageMagick/issues).