yoyaのメモ

2018/05/14(Mon) ImageMagick-6.9.9-44差分

[]ImageMagick-6.9.9-44差分

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

The latest release of ImageMagick is version 6.9.9-44

まとめ

  • HEIC 出力対応
  • draw 命令でのメモリ省エネ
  • 高速化。0 or ほぼ0の係数を渡した時に処理をスキップ
気になる事

差分

ChangeLogにない差分
  • coders/heic.c
> static MagickBooleanType WriteHEICImage(const ImageInfo *image_info,Image *image,
  • coders/pnm.c
    • コメントを長さつきで渡す引数を追加
> typedef struct _CommentInfo
> {
>   char
>     *comment;
>
>   size_t
>     extent;
> } CommentInfo;
140c152
< static int PNMComment(Image *image)
---
> static int PNMComment(Image *image,CommentInfo *comment_info)
  • magick/cache.c
    • Alpha マスク値が殆ど0の時に、RGB マスク処理を省略
>     if (fabs(mask_alpha) >= MagickEpsilon)
>       {
>         SetPixelRed(q,mask_alpha*MagickOver_((MagickRealType) p->red,
>           (MagickRealType) GetPixelOpacity(p),(MagickRealType) q->red,
>           (MagickRealType) GetPixelOpacity(q)));
>         SetPixelGreen(q,mask_alpha*MagickOver_((MagickRealType) p->green,
>           (MagickRealType) GetPixelOpacity(p),(MagickRealType) q->green,
>           (MagickRealType) GetPixelOpacity(q)));
>         SetPixelBlue(q,mask_alpha*MagickOver_((MagickRealType) p->blue,
>           (MagickRealType) GetPixelOpacity(p),(MagickRealType) q->blue,
>           (MagickRealType) GetPixelOpacity(q)));
  • magick/draw.c
    • draw 命令の格納テーブルサイズをへらす。(無条件で 65536 x primitive_info 構造体のメモリを確保してた)
<   number_points=65536;
---
>   number_points=4096

ChangeLog

(該当行無し)

2018/05/07(Mon) ImageMagick-6.9.9-43差分

[]ImageMagick-6.9.9-43差分

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

The latest release of ImageMagick is version 6.9.9-43

まとめ

  • 色々と危ない不具合修正。
気になる事

差分

ChangeLogにない差分

(調査中)

ChangeLog

2018-05-04  6.9.9-43 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.9-43, GIT revision 13429:2233796ee:20180506.

2018-05-03  6.9.9-43 Cristy  <quetzlzacatenango@image...>
  * Fixed numerous use of uninitialized values, integer overflow, memory
    exceeded, and timeouts (credit to OSS Fuzz).

2018/05/02(Wed) ImageMagick-6.9.9-42差分

[]ImageMagick-6.9.9-42差分

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

The latest release of ImageMagick is version 6.9.9-42

まとめ

  • 特に大きな変更はなし。(ソース上は)
気になる事

差分

  • Missing break when checking "compliance" element.
  • (恐らく、6.9.9-41 で変更した分かも?。。 > coders/svg.c にそれらしい変更がある)
ChangeLogにない差分
  • magick/draw.c
    • 値が小さい場合に0扱いする。
<略>
>   if ((fabs(start.x-end.x) < DrawEpsilon) ||
>       (fabs(start.y-end.y) < DrawEpsilon))
>     {
>       primitive_info->coordinates=0;
>       return;
>     }

(調査中)

ChangeLog

2018-05-01  6.9.9-42 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.9-42, GIT revision 13394:69b3ddf2e:20180501.

2018-05-01  6.9.9-42  <quetzlzacatenango@image...>
  * Missing break when checking "compliance" element.

2018/04/30(Mon) ImageMagick-6.9.9-41差分

[]ImageMagick-6.9.9-41差分

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

The latest release of ImageMagick is version 6.9.9-41

まとめ

  • 色々と危ない不具合修正。
気になる事

差分

  • 多くの修正。未初期化の値利用、整数オーバーフリー、メモリ。
    • coders/dcm.c
<         (void) ReadBlobByte(image);
---
>         if (ReadBlobByte(image) == EOF)
>           break;
3868c3869
<         for ( ; length != 0; length--)
---
>         for (c=EOF; length != 0; length--)
3879a3881,3882
>         if (c == EOF)
>           break;
    • coders/dpx.c
863a864,865
>     if (dpx.image.image_element[i].packing > 2)
>       ThrowReaderException(CorruptImageError,"ImproperImageHeader");
    • coders/flif.c
>   (void) memset(packet,0,256*sizeof(*packet));
ChangeLogにない差分
  • coders/heic.c
    • まるまる入れ替わってる。
<   PKG_CHECK_MODULES(HEIC,[libde265], have_heic=yes, have_heic=no)
---
>   PKG_CHECK_MODULES(HEIF,[libheif], have_heic=yes, have_heic=no)


- coders/dcm.c
>|c|
<             if ((info.depth == 0) || (info.depth > 32))
---
>             if ((info.depth == 0) || (info.depth > 16))
  • magick/deprecate.c
    • 廃止予定入り
> %  CropImageToHBITMAP() extracts a specified region of the image and returns
> %  it as a Windows HBITMAP. While the same functionality can be accomplished by

> %  ImageToHBITMAP() creates a Windows HBITMAP from an image.
  • magick/draw.c
    • EllipseEpsilon 廃止
< #define EllipseEpsilon  (0.0001)
  • その他沢山
  • 型キャストの変更。size_t => ssize_t とか。

ChangeLog

2018-04-30  6.9.9-41 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.9-41, GIT revision 13379:e819f52a2:20180430.

2018-03-26  6.9.9-41 Cristy  <quetzlzacatenango@image...>
  * Fixed numerous use of uninitialized values, integer overflow, memory

2018/03/26(Mon) ImageMagick-6.9.9-40差分

[]ImageMagick-6.9.9-40差分

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

The latest release of ImageMagick is version 6.9.9-40

まとめ

  • 色々と危ない不具合修正。
気になる事

差分

ChangeLogにない差分
  • HDRI での色の処理がちょっと変わってる。

ChangeLog

2018-03-24  6.9.9-40 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.9-40, GIT revision 13136:8b7024499:20180325.

2018-03-21  6.9.9-40 Cristy  <quetzlzacatenango@image...>
  * Fixed numerous use of uninitialized values, integer overflow, memory
    exceeded, and timeouts (credit to OSS Fuzz).