ImageMagick-6.9.5-8差分
ImageMagick-6.9.5-7差分 - yoyaのメモの続き
The latest release of ImageMagick is version 6.9.5-8
- 7 系同時リリースは ImageMagick-7.0.2-10
まとめ
- psd:additional-info の処理を追加
- BMP とSGI エンコーダのバッファオーバーフロー防止
- MSVG のエンバグ修正
- SIXEL, PDB, MAP, TIFF, CALS コーダーのバッファオーバーフロー防止
差分
ChangeLog の分
- PDS ファイルの中に追加情報を保存する為の psd:additional-info の定義を追加
- coders/psd.c
- DestroyLayerInfo の削除対象に info(String)も追加
> if (layer_info[i].info != (StringInfo *) NULL) > layer_info[i].info=DestroyStringInfo(layer_info[i].info); 1565,1572c1572,1575 < /* < Skip the rest of the variable data until we support it. < */ < if (image->debug != MagickFalse) < (void) LogMagickEvent(CoderEvent,GetMagickModule(), < " unsupported data: length=%.20g",(double) < ((MagickOffsetType) (size-combined_length))); < if (DiscardBlobBytes(image,(MagickSizeType) (size-combined_length)) == MagickFalse) --- > length=(length+(4-(length % 4)))-length; > combined_length+=length; > /* Skip over the padding of the layer name */ > if (DiscardBlobBytes(image,length) == MagickFalse) 1577a1581,1590 > length=(MagickSizeType) size-combined_length; > if (length > 0) > { > unsigned char > *info; > > layer_info[i].info=AcquireStringInfo((const size_t) length); > info=GetStringInfoDatum(layer_info[i].info); > (void) ReadBlob(image,(const size_t) length,info); > } 1605a1619,1625 > > if (layer_info[i].info != (StringInfo *) NULL) > { > (void) SetImageProfile(layer_info[i].image,PSDAdditionalInfo, > layer_info[i].info); > layer_info[i].info=DestroyStringInfo(layer_info[i].info); > } 2612a2633,2732 > static const StringInfo *GetAdditionalInformation(const ImageInfo *image_info, > Image *image) <略>
2016-08-15 6.9.5-8 Cristy
- BMP とSGI エンコーダのバッファオーバーフロー防止 (テンセントの pwchen, rayzhong からのバグ報告)
- coders/bmp.c
- signed int で表現できないサイズはエラーにする
- coders/bmp.c
> if ((image->columns != (signed int) image->columns) || > (image->rows != (signed int) image->rows)) > ThrowWriterException(ImageError,"WidthOrHeightExceedsLimit");
- MSVG のレグセッション修正 (エンバグ対処)
- SIXEL, PDB, MAP, TIFF, CALS コーダーのバッファオーバーフローやその他の問題防止 (Donghai Zhu のバグ報告)
ChangeLogにない差分
- coders/map.c
- カラーマップの作り直しで、古い depth でなく古い colors から新しい depth を判断。
- ScaleQuantumToChar を呼ぶ
< if (image->depth <= 8) --- > q=colormap; > if (image->colors <= 256) 407,409c408,410 < *q++=(unsigned char) image->colormap[i].red; < *q++=(unsigned char) image->colormap[i].green; < *q++=(unsigned char) image->colormap[i].blue; --- > *q++=(unsigned char) ScaleQuantumToChar(image->colormap[i].red); > *q++=(unsigned char) ScaleQuantumToChar(image->colormap[i].green); > *q++=(unsigned char) ScaleQuantumToChar(image->colormap[i].blue); 414,419c415,420
- magick/memory-private.h
25c25 < #if defined(MAGICK_TARGET_CPU) && (MAGICK_TARGET_CPU == powerpc) --- > #if defined(__powerpc__)
- magick/option.c
167a168,173 > { "0", 0, UndefinedOptionFlag, MagickFalse }, > { "1", 1, UndefinedOptionFlag, MagickFalse }, > { "2", 2, UndefinedOptionFlag, MagickFalse }, > { "3", 3, UndefinedOptionFlag, MagickFalse }, > { "4", 4, UndefinedOptionFlag, MagickFalse }, > { "5", 5, UndefinedOptionFlag, MagickFalse },
ChangeLog
2016-08-27 6.9.5-8 Cristy <quetzlzacatenango@image...> * Release ImageMagick version 6.9.5-8, GIT revision 11015:e3335b3:20160827. 2016-08-27 6.9.5-8 Dirk Lemstra <dirk@lem.....org> * Added define 'psd:additional-info' to preserve the additional information in a PSD file. 2016-08-15 6.9.5-8 Cristy <quetzlzacatenango@image...> * Prevent buffer overflow in BMP & SGI coders (bug report from pwchen&rayzhong of tencent). * Fix MSVG regression (reference https://github.com/ImageMagick/ImageMagick/issues/252). * Prevent buffer overflow and other problems in SIXEL, PDB, MAP, TIFF, and CALS coders (bug report from Donghai Zhu).