ImageMagick-7.0.9-8差分
ImageMagick-7.0.9-8差分
The latest release of ImageMagick is version 7.0.9-8
6 系同時リリースは ImageMagick-6.9.10-78
まとめ
気になる事
差分
- -type bilevel の挙動を戻した。黒と白の画像が作られる。
ChangeLog
2019-12-01 7.0.9-8 Cristy <quetzlzacatenango@image...> * Release ImageMagick version 7.0.9-8, GIT revision 16474:0bc0e95:20191207. 2019-12-01 7.0.9-8 Cristy <quetzlzacatenango@image...> * -type bilevel behavior restored, it creates a black and white image.
ImageMagick-7.0.9-7差分
ImageMagick-7.0.9-7差分
The latest release of ImageMagick is version 7.0.9-7
6 系同時リリースは ImageMagick-6.9.10-77 (あれれ。-76 は?)
まとめ
気になる事
差分
- Pocketmod 画像フォーマットに対応。
- 例) convert -density 300 pages?.pdf pocketmod:organize.pdf
- GitHub に投稿された幾つもの問題を修正
- ドキュメントの更新
ChangeLog
2019-11-30 7.0.9-7 Cristy <quetzlzacatenango@image...> * Release ImageMagick version 7.0.9-7, GIT revision 16449:971ba06:20191130. 2019-11-26 7.0.9-7 Cristy <quetzlzacatenango@image...> * Support Pocketmod image format, e.g. convert -density 300 pages?.pdf pocketmod:organize.pdf * Fixed numerous issues posted to GitHub (reference https://github.com/ImageMagick/ImageMagick/issues). * Update documentation.
ImageMagick-7.0.9-6差分
ImageMagick-7.0.9-6差分
The latest release of ImageMagick is version 7.0.9-6
6 系同時リリースは ImageMagick-6.9.10-75
まとめ
気になる事
ChangeLog
2019-11-26 7.0.9-6 Cristy <quetzlzacatenango@image...> * Release ImageMagick version 7.0.9-6, GIT revision 16407:1725ec3:20191126. 2019-11-19 7.0.9-6 Cristy <quetzlzacatenango@image...> * Increase the maximum number of bezier coordinates (reference https://github.com/ImageMagick/ImageMagick/issues/1784). * Santize "'" from SHOW and WIN delegates under Linux, '"\' for Windows (thanks to Enzo Puig). * Correct for TGA orientation (reference https://imagemagick.org/discourse-server/viewtopic.php?f=3&t=34757). * The result for -compose Copy -extent on a MYK image is CMYK (reference https://imagemagick.org/discourse-server/viewtopic.php?f=3&t=37118). * Fix potential buffer overflow when reading a fax image (alert from Justin). * Support dng:use-camera-wb option.
ImageMagick-7.0.9-5差分
ImageMagick-7.0.9-5差分
The latest release of ImageMagick is version 7.0.9-5
6 系同時リリースは ImageMagick-6.9.10-74
まとめ
- Ascii85 compression がスレッドセーフになった。(今まで危険だった)
気になる事
- コアな処理のポインタ型に magick_restrict 修飾(C の restrict)をつけまくってる。
- PNG と WebP でサイズチェック強化
差分
- Ascii85 compression がスレッドセーフだと保証する。
- Github に投稿された沢山の問題を修正
ソースコード
- MagickCore/compress.c
- - Ascii85 compression がスレッドセーフだと保証する。(関数内 static char を使い回してたのがまずい。Ascii85Info 構造体を使うようにした)
74a75,77 > char > tuple[6]; > 91,95c94,98 < #define TWId 23 < #define MWId 24 < #define TBId 25 < #define MBId 26 < #define EXId 27 --- > #define TWId 23L > #define MWId 24L > #define TBId 25L > #define MBId 26L > #define EXId 27L 228c231 < #define MaxLineExtent 36 --- > #define MaxLineExtent 36L 230c233,234 < static char *Ascii85Tuple(unsigned char *data) --- > static inline void Ascii85Tuple(Ascii85Info *ascii85_info, > const unsigned char *magick_restrict data) 232,234d235 < static char < tuple[6]; < 247,249c248,250 < tuple[0]='z'; < tuple[1]='\0'; < return(tuple); --- > ascii85_info->tuple[0]='z'; > ascii85_info->tuple[1]='\0'; > return; 256c257 < tuple[i]=(char) (x+(int) '!'); --- > ascii85_info->tuple[i]=(char) (x+(int) '!'); 259,261c260,261 < tuple[4]=(char) ((code % 85L)+(int) '!'); < tuple[5]='\0'; < return(tuple); --- > ascii85_info->tuple[4]=(char) ((code % 85L)+(int) '!'); > ascii85_info->tuple[5]='\0'; 274c274 < image->ascii85->line_break=(ssize_t) MaxLineExtent << 1; --- > image->ascii85->line_break=(ssize_t) (MaxLineExtent << 1); 280,282d279 < register char < *tuple; < 293c290 < tuple=Ascii85Tuple(image->ascii85->buffer); --- > Ascii85Tuple(image->ascii85,image->ascii85->buffer); 295c292,293 < (const unsigned char *) (*tuple == 'z' ? "!!!!" : tuple)); --- > (const unsigned char *) (*image->ascii85->tuple == 'z' ? "!!!!" : > image->ascii85->tuple)); 323c321,322 < for (q=Ascii85Tuple(p); *q != '\0'; q++) --- > Ascii85Tuple(image->ascii85,p); > for (q=image->ascii85->tuple; *q != '\0'; q++) 369,373c368,372 < #define HashSize 1021 < #define MBHashA 293 < #define MBHashB 2695 < #define MWHashA 3510 < #define MWHashB 1178 --- > #define HashSize 1021L > #define MBHashA 293L > #define MBHashB 2695L > #define MWHashA 3510L > #define MWHashB 1178L
- coders/png.c
6839c6839,6840 < if (mng_info->magn_methx || mng_info->magn_methy) --- > if (((mng_info->magn_methx > 0) && (mng_info->magn_methx <= 5)) && > ((mng_info->magn_methy > 0) && (mng_info->magn_methy <= 5)))
- coders/webp.c
194c194 < while ((offset+TAG_SIZE+4) <= (length-TAG_SIZE)) --- > while (offset <= (length-TAG_SIZE-TAG_SIZE-4))
あとは magick_restrict 追加がいっぱい。
ChangeLog
2019-11-17 7.0.9-5 Cristy <quetzlzacatenango@image...> * Release ImageMagick version 7.0.9-5, GIT revision 16369:747618e:20191117. 2019-11-16 7.0.9-5 Cristy <quetzlzacatenango@image...> * Ensure Ascii85 compression is thread safe. * Fixed numerous issues posted to GitHub (reference https://github.com/ImageMagick/ImageMagick/issues).
ImageMagick-7.0.9-4差分
ImageMagick-7.0.9-4差分
The latest release of ImageMagick is version 7.0.9-4
6 系同時リリースは ImageMagick-6.9.10-73
まとめ
差分
ソースコード
- MagickCore/color.c
- strcasestr の代わりに StringLocateSubstring を使う。
68a69 > #include "MagickCore/string-private.h" 2145c2146 < if (strcasestr(token,"SVG") != (char *) NULL) --- > if (StringLocateSubstring(token,"SVG") != (char *) NULL) 2147c2148 < if (strcasestr(token,"X11") != (char *) NULL) --- > if (StringLocateSubstring(token,"X11") != (char *) NULL) 2149c2150 < if (strcasestr(token,"XPM") != (char *) NULL) --- > if (StringLocateSubstring(token,"XPM") != (char *) NULL)
- MagickCore/geometry.c
944a945,948 > { > if (*(p+1) == ')') > return(flags); > }
- MagickCore/nt-base.h
- strcasestr の削除。(代わって StringLocateSubstring
332,365d331 < #if !defined(strcasestr) < static inline char *strcasestr(const char *haystack,const char *needle) < { < size_t < length_needle, < length_haystack; < < register ssize_t < i; < < if (!haystack || !needle) < return(NULL); < length_needle=strlen(needle); < length_haystack=strlen(haystack)-length_needle+1; < for (i=0; i < length_haystack; i++) < { < register size_t < j; < < for (j=0; j < length_needle; j++) < { < unsigned char c1 = haystack[i+j]; < unsigned char c2 = needle[j]; < if (toupper(c1) != toupper(c2)) < goto next; < } < return((char *) haystack+i); < next: < ; < } < return(NULL); < } < #endif
- MagickCore/profile.c
- strcasestr の代わりに StringLocateSubstring を使う。
65a66 > #include "MagickCore/string-private.h" 1742c1743 < p=strcasestr((const char *) GetStringInfoDatum(profile),"x:xmpmeta"); --- > p=StringLocateSubstring((const char *) GetStringInfoDatum(profile),"x:xmpmeta"); 1744c1745 < p=strcasestr((const char *) GetStringInfoDatum(profile),"rdf:RDF"); --- > p=StringLocateSubstring((const char *) GetStringInfoDatum(profile),"rdf:RDF");
- MagickCore/string-private.h
- StringLocateSubstring の追加
47a48,86 > static inline char *StringLocateSubstring(const char *haystack, > const char *needle) > { > #if defined(MAGICKCORE_HAVE_STRCASESTR) > return((char *) strcasestr(haystack,needle)); > #else > { > size_t > length_needle, > length_haystack; > > register ssize_t > i; > > if (!haystack || !needle) > return(NULL); > length_needle=strlen(needle); > length_haystack=strlen(haystack)-length_needle+1; > for (i=0; i < length_haystack; i++) > { > register size_t > j; > > for (j=0; j < length_needle; j++) > { > unsigned char c1 = haystack[i+j]; > unsigned char c2 = needle[j]; > if (toupper(c1) != toupper(c2)) > goto next; > } > return((char *) haystack+i); > next: > ; > } > return((char *) NULL); > } > #endif > }
- coders/bmp.c
- ヘッダサイズチェックの強化
660,661d659 < if (bmp_info.size < 40) < ThrowReaderException(CorruptImageError,"NonOS2HeaderSizeError"); 666a665,666 > if (bmp_info.size > 16) > { 672c672,673 < ThrowReaderException(CorruptImageError,"InsufficientImageDataInFile"); --- > ThrowReaderException(CorruptImageError, > "InsufficientImageDataInFile"); 673a675 > }
- coders/ps.c
- strcasestr の代わりに StringLocateSubstring を使う。
75a76 > #include "MagickCore/string-private.h" 343,345c344,346 < if ((strcasestr(p,"Cyan") != (char *) NULL) || < (strcasestr(p,"Magenta") != (char *) NULL) || < (strcasestr(p,"Yellow") != (char *) NULL)) --- > if ((StringLocateSubstring(p,"Cyan") != (char *) NULL) || > (StringLocateSubstring(p,"Magenta") != (char *) NULL) || > (StringLocateSubstring(p,"Yellow") != (char *) NULL))
- coders/tiff.c
- サイズチェック強化
1831c1831 < if (((MagickSizeType) TIFFScanlineSize(tiff)) > (2*GetBlobSize(image))) --- > if ((1.0*TIFFScanlineSize(tiff)) > (2.1*GetBlobSize(image)))
ChangeLog
(空っぽ)
ImageMagick-7.0.9-3差分
ImageMagick-7.0.9-3差分
The latest release of ImageMagick is version 7.0.9-3
6 系同時リリースは ImageMagick-6.9.10-72
まとめ
気になる事
ChangeLog
2019-11-13 7.0.9-3 Cristy <quetzlzacatenango@image...> * Release ImageMagick version 7.0.9-4, GIT revision 16354:5f53562:20191114. 2019-11-10 7.0.9-3 Cristy <quetzlzacatenango@image...> * Santize ';' from SHOW and WIN delegates. * Add exception parameter to CMS transform methods. * Output exception there is an attempt to perform an operation not allowed by the security policy * Fixed numerous issues posted to GitHub (reference https://github.com/ImageMagick/ImageMagick/issues).
ImageMagick-7.0.9-2差分
ImageMagick-7.0.9-2差分
The latest release of ImageMagick is version 7.0.9-2
6 系同時リリースは ImageMagick-6.9.10-71
まとめ
気になる事
ChangeLog
2019-10-30 7.0.9-2 Cristy <quetzlzacatenango@image...> * Release ImageMagick version 7.0.9-2, GIT revision 16325:6f84d89:20191030. 2019-10-29 7.0.9-2 Cristy <quetzlzacatenango@image...> * JPEG and JPG are aliases in coder security policy. * Fixed numerous issues posted to GitHub (reference https://github.com/ImageMagick/ImageMagick/issues).