ImageMagick-6.9.10-10差分
ImageMagick-6.9.10-9差分 - yoyaのメモの続き
The latest release of ImageMagick is version 6.9.10-10
- 7 系同時リリースは ImageMagick-7.0.8-10
まとめ
- ThumbnailImage で EXt 系の、例えば date:create, modify, software, thumb 等が残る問題の修正。作業ディレクトリパスとかも残ってしまう。
気になる事
差分
- HEIC coder のスレット対応を復帰させた
- coders/heic.c
379d378
< entry->thread_support=MagickFalse;
621,622d619
< {
< status=MagickFalse;
624d620
< }
- ThumbnailImage 関数がセンシティブな情報を漏らさないようになった。
- https://github.com/ImageMagick/ImageMagick/issues/1243
- magick/resize.c
- https://github.com/ImageMagick/ImageMagick/issues/1243
3711c3711 < *url, --- > filename[MaxTextExtent], 3781c3781,3782 < (void) CopyMagickString(value,image->magick_filename,MaxTextExtent); --- > GetPathComponent(image->magick_filename,TailPath,filename); > (void) CopyMagickString(value,filename,MaxTextExtent); 3796,3798c3797 < url=GetMagickHomeURL(); < (void) SetImageProperty(thumbnail_image,"software",url); < url=DestroyString(url); --- > (void) SetImageProperty(thumbnail_image,"software",MagickAuthoritativeURL);
ChangeLogにない差分
- coders/mat.c
(作りかけで大量の差分があるので省略、変数名に迷ったりと色々)
- coders/xbm.c
- 数字を表す文字列のパース処理。(最大値のチェックが甘かった)
155,157c155,158 < while (hex_digits[c] >= 0) { < if (value > (unsigned int) (INT_MAX/10)) < break; --- > do > { > if (value <= (unsigned int) (INT_MAX/16)) > { 160,161c161 < if (value > (unsigned int) (INT_MAX-hex_digits[c])) < break; --- > if (value <= (unsigned int) (INT_MAX-hex_digits[c])) 162a163 > } 166c167 < } --- > } while (hex_digits[c] >= 0);
- magick/blob.c
- GetPathAttributes と fileno(stdin) の順番を入れ替え。
1092a1093,1095 > file=fileno(stdin); > if (LocaleCompare(filename,"-") != 0) > { 1099,1100d1101 < file=fileno(stdin); < if (LocaleCompare(filename,"-") != 0) 1101a1103 > }
- magick/constitute.c
- IsSceneGeometry の前に GetNextImageInList チェック
621,622c621 < if ((GetNextImageInList(image) != (Image *) NULL) && < (IsSceneGeometry(read_info->scenes,MagickFalse) != MagickFalse)) --- > if (IsSceneGeometry(read_info->scenes,MagickFalse) != MagickFalse)
- magick/list.c
- キャスト
- last が length を超えないようクランプ
- UndefinedCompression や UndefinedEndian の時*だけ*、前の画像のデータを引き継ぐ
216,220d215< long< first,< last,< step;<
226a222,226
> ssize_t
> first,
> last,
> step;
>
241c241< first=strtol(p,&p,10);
-
- -
> first=(ssize_t) strtol(p,&p,10);
243c243,246< first+=(long) length;
-
- -
> first+=(ssize_t) length;
> else
> if (first > (ssize_t) length)
> first=(ssize_t) length;
249c252< last=strtol(p+1,&p,10);
-
- -
> last=(ssize_t) strtol(p+1,&p,10);
251c254,257< last+=(long) length;
-
- -
> last+=(ssize_t) length;
> else
> if (last > (ssize_t) length)
> last=(ssize_t) length;
253c259,260< for (step=first > last ? -1 : 1; first != (last+step); first+=step)
-
- -
> step=(ssize_t) (first > last ? -1 : 1);
> for ( ; first != (last+step); first+=step)
1447a1455
> if (images->next->compression == UndefinedCompression)
1448a1457
> if (images->next->endian == UndefinedEndian)
|
- magick/utility.c
1259,1260d1258 < p=component; < if (*p != '\0') 1262c1260,1262 < if ((*p == ']') && (strchr(component,'[') != (char *) NULL) && --- > q=strrchr(component,'['); > if ((strlen(component) > 2) && (*p == ']') && (q != (char *) NULL) && > ((q == component) || (*(q-1) != ']')) && 1268,1272d1267 < for (q=p-1; q > component; q--) < if (*q == '[') < break; < if (*q == '[') < { 1281d1275 < }
- wand/mogrify.c
- スレッド数設定を OpenMP 直でなく ImageMagick のリソース制限の仕組み(最終的には OpenMP だけど)で行うよう整理。
199c199 < SetOpenMPMaximumThreads((int) n); --- > (void) SetMagickResourceLimit(ThreadResource,(MagickSizeType) n);
ChangeLog
x ImageMagick-6.9.10-10/utilities/montage.1 2018-08-13 6.9.10-10 Cristy <quetzlzacatenango@image...> * Release ImageMagick version 6.9.10-10, GIT revision 13743:8f8009715:20180813 2018-08-12 6.9.10-10 Dirk Lemstra <dirk@lem.....org> * Restored thread support for the HEIC coder. 2018-08-08 6.9.10-10 Cristy <quetzlzacatenango@image...> * ThumbnailImage function no longer reveals sensitive information (reference https://github.com/ImageMagick/ImageMagick/issues/1243).