github.com/kaydxh/golang@v0.0.131/pkg/gocv/cgo/third_path/graphics-magick/share/doc/GraphicsMagick/ChangeLog.2015 (about) 1 2015-12-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2 3 * ttf: Update bundled freetype to release 2.6.2. 4 5 * libxml: Update bundled libxml2 to release 2.9.3. 6 7 2015-11-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8 9 * webp: Updated bundled libwebp to release 0.4.4. 10 11 * png: Updated bundled libpng to release 1.6.19. 12 13 2015-11-05 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 14 15 * coders/png.c (WriteOnePNGImage): Added "volatile" to 16 several declarations to stop "might be clobbered" warnings. 17 18 2015-11-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 19 20 * NEWS.txt: Update NEWS for 1.3.23 release. 21 22 2015-11-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 23 24 * magick/command.c (IdentifyImageCommand): Fix problem that 25 identify with -format "%A" does not always report correct answer 26 due to insufficient analysis of image. Fixes SourceForge bug #326 27 "gm identify: transparency detection bug ". 28 29 2015-11-05 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 30 31 * coders/png.c (WriteOnePNGImage): Restored a "volatile" 32 declaration that was accidentally deleted on 2015-11-03. 33 34 2015-11-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 35 36 * configure.ac: Add checks for 'ps2write' and 'eps2write' as 37 Ghostscript Postscript and Encapsulated Postscript 38 writers. Resolves issue reported to graphicsmagick-bugs mailing 39 list on 2015-11-01 entitled "Failure to detect pswrite and 40 epswrite Ghostscript devices". 41 42 2015-11-03 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 43 44 * coders/png.c (ReadRawProfile): Issue a warning instead of 45 an error when attempting to read a zero-length profile. 46 47 2015-11-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 48 49 * magick/studio.h (MagickSleep): Provide the macro 'MagickSleep' 50 to call a function which delays for one second. No longer provide 51 a macro 'sleep' in WIN32 compiles. Resolves issue reported to 52 graphicsmagick-bugs mailing list on 2005-11-01 entitled "MinGW 53 build error when sleep re#defined as Sleep". 54 55 2015-10-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 56 57 * Magick++/demo/demos.tap: Add zoom test cases to test resize to 58 original dimensions, change height, and change width. 59 60 * magick/resize.c (ScaleImage): Fix regression introduced in 61 1.3.22 release which results in pixel cache not open if the scale 62 width and height match the original. Patch by Troy Patteson. 63 Fixes part of SourceForge bug #323 "ScaleImage() issues in 64 v1.3.22". 65 (ScaleImage): Fix double free problem when scaled rows equals 66 original rows. This regression was added in the 1.3.22 release 67 via changset 080b99bba574. Based on patch by Troy Patteson. 68 Fixes remaining part SourceForge bug #323 "ScaleImage() issues in 69 v1.3.22". 70 71 2015-10-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 72 73 * www/Magick++/Image.rst (thumbnail): Paragraph heading fix. 74 Resolves SourceForge issue #321 "find tiny error in 75 Magick++/Image.html document". 76 77 2015-10-06 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 78 79 * docs/*.imdoc: Changed synopses in manpages to add "gm " 80 prefix to commands. Updated synopsis for "convert" to agree 81 with what's in the "gm" manpage. 82 83 2015-10-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 84 85 * configure.ac: Remove CFLAGS and LDFLAGS deduplication code. 86 Resolves SourceForge bug #320 OS X "universal build failure". 87 88 2015-10-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 89 90 * www/index.rst: Updated for 1.3.22 release. 91 92 * NEWS.txt: Updated for 1.3.22 release. 93 94 2015-09-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 95 96 * NEWS.txt: Brought up to date with changes thus far since last 97 release. 98 99 * magick/blob.c (OpenBlob): Disable fflush() of read-only handle 100 under Microsoft Windows, which produced a spurious error status, 101 blocking file reads for Visual Studio 2015 on Windows 2012 server. 102 Problem was reported and diagnosed by Dirk Lemstra. 103 104 2015-09-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 105 106 * tiff: Update bundled libtiff sources to 4.0.6 release. 107 108 * magick/module.c (InitializeModuleSearchPath): Fix compilation 109 problem when UseInstalledMagick is not defined. 110 111 2015-09-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 112 113 * coders/xpm.c: Static string/array allocations are now more 114 const. 115 116 * coders/{ps.c, ps2.c, ps3.c}: Static string/array allocations are 117 now more const. 118 119 * coders/palm.c: Palm static arrays should be 'const'. 120 121 * coders/meta.c (jpeg_embed): Stop sharing writeable static string 122 'psheader'. 123 (tag_spec): The 'tags' static array should be all 'const'. 124 125 * coders/jp2.c: Try to reduce the amount of non-const static data. 126 127 * coders/dcm.c (dicom_info): Try to make dicom_info array more 128 'const'. 129 130 * coders/dpx.c: Eliminate use of static buffer strings. 131 132 * coders/png.c: Make MNG chunk id strings constant rather than 133 initialized data. 134 135 * magick/render.c (DrawAffineImage): Fix problem that sometimes 136 output rows are skipped when using OpenMP. Problem identification 137 and patch by Kevin Matzen. Resolves SourceForge issue #316 138 "-affine sometimes produces output with missing rows". 139 140 2015-08-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 141 142 * tests/rwblob.tap: Add specific tests for BMP2 BMP3 subformats. 143 144 * tests/rwfile.tap: Add specific tests for BMP2 BMP3 PS2 PS3 145 subformats. 146 147 2015-08-30 Jaroslav Fojtik <JaFojtik@seznam.cz> 148 149 * magick/ImageMagick.rc Replace Imagemagick.ico by GraphicsMagick.ico 150 151 * magick/Imagemagick.ico is no longer needed and not referenced anywhere. 152 153 2015-08-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 154 155 * README.txt: Fix SourceForge bug 314 "README: bad hg clone URL". 156 157 * magick/module.c (GetModuleListForDirectory): Fix Coverity 107017 158 "Copy into fixed size buffer" and 107013 "Overlapping buffer in 159 memory copy". 160 (UnloadModule): Fix SourceForge bug 312 "uninitialized variable 161 "name" in UnloadModule". 162 163 * coders/bmp.c (WriteBMPImage): Fix typo in fix on 2015-08-17. 164 Fixes Coverity 107014 "Test should be assignment". 165 166 * magick/module.c (OpenModules): Fix Coverity 107016 "Resource 167 leak". 168 (GetModuleListForDirectory): Fix Coverity 107015 "Resource leak". 169 170 2015-08-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 171 172 * coders/bmp.c (WriteBMPImage): Fix inverted alpha channel when 173 writing BGRA8888 format. Problem was reported by 张铎 via the 174 graphicsmagick-help discussion list on 2015-08-17. 175 176 2015-08-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 177 178 * magick/attribute.c (GenerateEXIFAttribute): Verify that entry 179 pointer is within the metadata buffer in order to avoid buffer 180 overflow. Resolution and patch by Federico Larumbe. 181 182 * magick/profile.c (SetImageProfile): Avoid crash given NULL 183 profile pointer. Resolution and patch by Federico Larumbe. 184 185 2015-08-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 186 187 * magick/attribute.c (GenerateEXIFAttribute): Fix logic problem 188 while validating EXIF GPS_OFFSET. Problem reported by Federico 189 Larumbe. 190 191 2015-07-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 192 193 * coders/miff.c (ReadMIFFImage): Applied fix 194 (http://hg.code.sf.net/u/zacmorris/graphicsmagick/rev/edcc4c184b42) 195 by Zac Morris to detect buffer overrun while reading zip 196 compressed data. 197 (ReadMIFFImage): Fixed some memory leaks which were occuring when 198 an exception was thrown from zip-compressed data reader. 199 200 2015-07-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 201 202 * coders/tiff.c (WritePTIFImage): Fix SourceForge issue #269 203 "Convert creates SubfileType 0x2 instead of 0x1". From looking at 204 the code, this is a regression since the time support for the page 205 subfile type was added (probably via changeset 11831 206 (037eef0f67f2) on 2007-08-17). 207 208 2015-07-19 Jaroslav Fojtik <JaFojtik@seznam.cz> 209 210 * dcraw/dcraw.c: Fixed bad define WIN32. 211 212 2015-07-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 213 214 * NEWS.txt, www/Hg.rst, www/index.rst: Applied English bugs patch 215 by Amadu Jalloh. 216 217 * dcraw/dcraw.c: Add a port replacement for strnlen(). 218 219 2015-07-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 220 221 * wand/magick_wand.h: The declaration for MagickGetImageGravity() 222 was missing. Resolves SourceForge bug #308 magick_wand.h misses 223 declaration of MagickGetImageGravity. 224 225 2015-07-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 226 227 * dcraw: Update bundled dcraw to release 9.26.0. 228 229 * png: Updated bundled libpng to release 1.6.17. 230 231 * lcms: Update bundled lcms2 to release 2.7. 232 233 2015-07-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 234 235 * NEWS.txt: Brought up to date with changes thus far since last 236 release. 237 238 * magick/version.h.in (MagickCopyright): Update most recent 239 copyright year. 240 241 * magick/render.c (DrawAffineImage): Fix problem with negative x 242 offset. Resolves SourceForge issue #306 "gm fails to convert svg 243 to jpeg if svg has images with negative coordinates". 244 245 * magick/pixel_cache.c (ReadCachePixels): Add checks for integer 246 overflows. 247 248 2015-07-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 249 250 * magick/module.c (ModuleAliases): Add a module alias for GRAYA. 251 252 2015-07-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 253 254 * magick/montage.c (MontageImages): Fix Coverity 101317 "Resource 255 leak". 256 257 * magick/blob.c: Limit the data size passed to the read/write 258 calls to the filesystem blocksize and make multiple calls if 259 required. 260 261 * magick/pixel_cache.c: Limit the data size passed to the 262 read/write, pread/prwite calls and make multiple calls if 263 required. 264 265 2015-07-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 266 267 * magick/blob.c (WriteBlobFile): Properly handle short read. Read 268 data in units of filesystem block size. 269 (BlobToFile): Write data in units of filesystem block size. 270 271 * patches: Added directory of patches which may be useful when 272 integrating new versions of 3rd-party programs or libraries into 273 the VisualMagick build. 274 275 * libxml: Re-applied libxml changes which were used in prior 276 release. 277 278 2015-07-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 279 280 * webp: Updated bundled libwebp to release 0.4.3. 281 282 * ttf: Update bundled freetype to release 2.6. 283 284 * libxml: Update bundled libxml2 to release 2.9.2. 285 286 * tiff/VERSION: Update bundled libtiff to release 4.0.4. 287 288 * magick/nt_base.h (HAVE_TIFFISCODECCONFIGURED): Enable use of 289 TIFFIsCODECConfigured in MSVC build. 290 291 * coders/tiff.c: I am too lazy to modify VisualMagick configure so 292 it is possible to include jpeglib.h in tiff.c, so block out this 293 low-value code just for MSVC builds. 294 295 2015-06-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 296 297 * configure.ac, magick/profile.c: Removed support for lcms 1.X. 298 No one should be using a lesser version than lcms 2.0. 299 300 2015-06-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 301 302 * magick/blob.c (DisassociateBlob): Applied patch by Dirk Lemstra 303 to assure that the image blob is no longer shared with other 304 images when the image is written. This helps with thread safety. 305 306 2015-06-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 307 308 * magick/command.c: Add/fix utility usage messages for -box, 309 -convolve, -gravity, -linewidth, -list, -mattecolor, -render and 310 -shave. Resolves SourceForge issue #302 "MogrifyUsage prints 311 incomplete information ". 312 313 2015-06-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 314 315 * coders/tiff.c (WriteTIFFImage): Include JPEG headers to obtain 316 its BITS_IN_JSAMPLE definition. This is needed so we can know 317 what JPEG depth libtiff supports. 318 319 * www/index.rst: Add mention of GraphicsMagick having zero defects 320 reported by Coverity. 321 322 2015-06-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 323 324 * Magick++/lib/STL.cpp (adaptiveThresholdImage): Add a new 325 constructor which accepts a 'double' offset value. The previous 326 version of this constructor is deprecated and subject to removal 327 in the future. The size of the class is enlarged to store a 328 'double' and so this is a break in the ABI when this class was 329 used. Code using this class should be re-compiled. 330 331 * Magick++/lib/Image.cpp (adaptiveThreshold): Add a new version of 332 this method which accepts a 'double' offset value. The previous 333 version of the method is deprecated and subject to removal in the 334 future. Problem was reported by Dirk Lemstra. 335 336 2015-05-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 337 338 * coders/gray.c (ReadGRAYImage): Based on feedback from Glenn, 339 return a gray image from the reader, even if a channelized format 340 specifier is given. 341 342 2015-05-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 343 344 * coders/gray.c (ReadGRAYImage): Fix read glitch caused by 345 incorrect memset(). Added missing break statement to switch. 346 Added more logging. 347 (RegisterGRAYImage): Register "gray" formats R, G, B, C, M, Y, K, 348 O such that they are not triggered by file extension. It is 349 necessary to apply a magick prefix to the file name (or set image 350 magick in the API) in order to force using these formats. This 351 avoids accidents in case the file extension was used for some 352 other purpose. 353 354 2015-05-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 355 356 * coders/gray.c: Added support for "GRAYA" format. Format 357 specifiers "R", "G", "B", "A", "C", "M", and "Y" may now be used 358 to save and restore the associated channel using the same raw 359 format as "GRAY". These format specifiers were already supported 360 but did not appear to serve any useful function. 361 362 2015-05-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 363 364 * configure.ac: Improve handling of libxml2 dependencies. Only 365 test for and use libwmflite. Full-up libwmf is no longer used. 366 * configure.ac: Deduplicate CFLAGS and LDFLAGS. 367 368 2015-05-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 369 370 * coders/png.c (WriteOnePNGImage): Eliminate a "clobber" 371 compilation warning. 372 373 * coders/jpeg.c (WriteJPEGImage): Eliminate a "clobber" 374 compilation warning. 375 376 * configure.ac: Don't compute libwmf2 and libxml2 linkage path 377 based on claimed installation prefix. This is hoped to improve 378 configure reliability on multi-arch type systems. 379 380 2015-05-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 381 382 * configure.ac: Use the first -I, -L, and -l arguments produced by 383 freetype-config and don't produce arguments based on installation 384 prefix. This is hoped to improve configure reliability on 385 multi-arch type systems. 386 387 2015-05-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 388 389 * magick/tempfile.c (AcquireTemporaryFileDescriptor): P_tmpdir is 390 not an environment variable. Need to consider Windows environment 391 variables for Cygwin. 392 393 * magick/random.c (InitializeMagickRandomKernel): For Microsoft 394 Windows, use CryptGenRandom() to salt the built-in random number 395 generator. 396 397 2015-05-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 398 399 * magick/utility.c (MagickRandReentrant): Quiet Coverity 10092 400 "Calling risky function". 401 (MagickRandNewSeed): Quiet Coverity 10093 "Calling risky 402 function". 403 404 * coders/tga.c (ReadTGAImage): Quiet Coverity 10201 "Identical 405 code for different branches". 406 407 * coders/pcx.c (ReadPCXImage): Quiet Coverity 10218 "Identical 408 code for different branches". 409 410 2015-05-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 411 412 * magick/utility.c (GetGeometry): Fix handling of area geometries 413 in the form "5000000@". Resolves SourceForge issue #299 "-resize 414 with @ and > in geometry specification". 415 416 2015-05-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 417 418 * coders/tiff.c (WriteTIFFImage): Disable matte channel for 419 compression types which don't support it. Resolves SourceForge 420 bug #297 "GM distorts image using -transform". 421 (WriteTIFFImage): When type is Optimize, disable matte channel if 422 image is opaque. 423 424 2015-05-09 Jaroslav Fojtik <JaFojtik@seznam.cz> 425 426 * webp/src/utils/endian_inl.h: Fixed defect in intrinsic function 427 byteswap_ulong for Visual Studio less than 2005. 428 429 2015-05-08 Jaroslav Fojtik <JaFojtik@seznam.cz> 430 431 * VisualMagick/configure/system_page.cpp, 432 VisualMagick/configure/system_page.h: Suppress reloading .vcproj 433 when configuration type does not change. 434 435 2015-05-08 Jaroslav Fojtik <JaFojtik@seznam.cz> 436 437 * VisualMagick/configure/system_page.cpp, 438 VisualMagick/configure/system_page.h, 439 VisualMagick/configure/target_page.h: Ability to re-use already 440 given paths. It is highly frustrating to enter path for different 441 configurations again and again. 442 443 2015-05-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 444 445 * coders/vid.c (ReadVIDImage): Fix use of uninitialized variable 446 reported by MSVC 2003 (but not GCC, Clang, or Coverity). 447 448 2015-05-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 449 450 * coders/miff.c (ReadMIFFImage): Fix possible leak of profiles in 451 error path. 452 453 * coders/mpc.c (ReadMPCImage): Fix memory leak of values 454 allocation. 455 (ReadMPCImage): Fix possible leak of profiles in error path. Fixes 456 Coverity 80697 "Resource leak". 457 458 2015-05-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 459 460 * coders/miff.c (ReadMIFFImage): Fix memory leak of values 461 allocation. 462 463 2015-05-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 464 465 * coders/dpx.c (ReadDPXImage): Hopefully quiet Coverity 10305 466 "Untrusted loop bound". 467 468 * coders/tga.c (ReadTGAImage): Hopefully quiet Coverity 53418 469 "Untrusted loop bound". 470 471 * magick/tempfile.c (AcquireTemporaryFileDescriptor): Eliminate 472 all use of operating system provided temporary file allocation 473 functions (all apparently flawed in one way or another) and rely 474 exclusively on our own implementation. 475 476 * magick/constitute.c (ConstituteImage): Quiet Coverity 53399 477 "Logically dead code". 478 479 * coders/webp.c (ReadWEBPImage): Quiet Coverity 53400 "Logically dead 480 code". 481 482 * coders/miff.c (WriteRunlengthPacket): More work to quiet 483 Coverity 10186 and 10214 "Missing break in switch". 484 485 2015-05-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 486 487 * magick/tempfile.c (AcquireTemporaryFileDescriptor): Thoroughly 488 vet temporary file path. Might quiet Coverity 64613 "Use of 489 untrusted string value". 490 491 * wand/magick_compat.c (ParseGeometry): Another try at quieting 492 Coverity 10248 "Copy into fixed size buffer" and 10078 493 "Overlapping buffer in memory copy" in this dead code. 494 495 * magick/tempfile.c (AcquireTemporaryFileDescriptor): Remove 496 unneeded, almost certainly never used, and potentially insecure 497 use of mkstemp(). Will quiet Coverity 10315 "Insecure temporary 498 file". 499 500 2015-04-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 501 502 * configure.ac: Keep Ghostscript gibberish from appearing in 503 Configure output. 504 505 * coders/miff.c (WriteRunlengthPacket): Quiet Coverity 10186 and 506 10214 "Missing break in switch". 507 508 * magick/pixel_cache.c (GetCacheInfo): Quiet Coverity 10208 "Data 509 race condition". 510 511 * magick/blob.c (CloneBlobInfo): Quiet Coverity 10188 "Data race 512 condition". 513 (GetBlobInfo): Quiet Coverity 10191 "Data race condition". 514 515 * magick/image.c (AllocateImage): Quiet Coverity 10196 "Data race 516 condition". 517 (CloneImage): Quiet Coverity 10206 "Data race condition". 518 519 * magick/map.c (MagickMapAllocateMap): Quiet Coverity 10192, 10193 520 and 10228 "Data race condition". 521 522 * configure.ac: Use an algorithm to try to discover the best value 523 for GSCMYKDevice. 524 525 * VisualMagick/bin/delegates.mgk: Recipe for 'gs-cmyk' contained a 526 typo which breaks using '-type ColorSeparation'. 527 528 * coders/pwp.c (ReadPWPImage): Fix Coverity CID 64491 "Integer 529 handling issues". 530 531 2015-04-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 532 533 * coders/xcf.c (load_tile_rle): Quiet Coverity 10259 "Untrusted 534 loop bound". 535 536 * coders/sct.c (ReadSCTImage): Quiet Coverity 10285 "Untrusted 537 loop bound". 538 539 * coders/pwp.c (ReadPWPImage): Quiet Coverity 10299 "Untrusted 540 loop bound". 541 542 * coders/pcd.c (ReadPCDImage): Quiet Coverity 10301 "Untrusted 543 loop bound". 544 545 * coders/tga.c (ReadTGAImage): Quiet Coverity 53418 "Untrusted 546 loop bound". 547 548 * wand/magick_compat.c (ParseGeometry): Fix overlap strcpy() in 549 dead code. Quiets Coverity 10078 "Overlapping buffer in memory 550 copy" and 10248 "Copy into fixed size buffer". 551 552 * magick/segment.c (Classify): Fix Coverity 64317 "Resource leak". 553 554 2015-04-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 555 556 * coders/xcf.c (ReadXCFImage): Fix Coverity 64064 "Resource leak". 557 558 * coders/txt.c (ReadTXTImage): Fix Coverity 64061 "Resource leak". 559 560 * coders/rla.c (ReadRLAImage): Fix Coverity 64063 "Resource leak". 561 562 * coders/dib.c (ReadDIBImage): Fix Coverity 64057 Resource leak". 563 564 * magick/segment.c (Classify): Fix Coverity 64056 "Resource leak". 565 566 * magick/resize.c (SampleImage): Fix Coverity 64053, 64054, and 567 64062 "Resource leak". 568 569 * magick/render.c (TraceStrokePolygon): Fix Coverity 64055, 64059, 570 and 64060 "Resource leak". 571 572 * magick/magick.c (ListModuleMap): Quiet Coverity 64058 "Resource 573 leak". 574 575 2015-04-28 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 576 577 * coders/dpx.c: Fix Coverity 10305 "Untrusted loop bound". 578 579 * coders/cineon.c: Fix Coverity 10310 "Untrusted loop bound". 580 581 2015-04-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 582 583 * magick/memory.c: All use of user-provided allocation functions 584 is done via MagickFree(), MagickMalloc(), and MagickRealloc(). 585 586 2015-04-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 587 588 * magick/colormap.c (MagickConstrainColormapIndex): For out of 589 range condition, specifically return 0 rather than setting index 590 to zero, and then returning index. 591 592 * coders/pcx.c (ReadPCXImage): Fix Coverity 10197 "Negative loop 593 bound". 594 595 * coders/map.c (ReadMAPImage): Allocate pixels after return case 596 for 'ping' mode. 597 (ReadMAPImage): Fix problem added in last commit due to multiple 598 uses of 'packet_size'. 599 600 * magick/floats.c (_Gm_convert_fp16_to_fp32) 601 (_Gm_convert_fp24_to_fp32): Fix Coverity 10094 "Logically dead 602 code". 603 604 * coders/pcx.c (ReadPCXImage): Fix Coverity 10197 "Negative loop 605 bound". 606 607 * coders/wpg.c (UnpackWPG2Raster): Always test for EOF from 608 ReadBlobByte(). Should fix Coverity 10205 "Negative loop bound". 609 610 2015-04-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 611 612 * coders/pcx.c (ReadPCXImage): Add some more integer-overflow 613 safety to computations. Add some casts. 614 615 * coders/meta.c (formatIPTC): Fix Coverity 10221 "Infinite loop". 616 617 * magick/attribute.c (GenerateEXIFAttribute): Fix Coverity 10320 618 "Untrusted array index read" and "Untrusted loop bound". 619 620 2015-04-24 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 621 622 * coders/gif.c (ReadGIFImage): Attempt to fix Coverity issue 623 10284 by using "opacity = (header[3] & 0xff)". 624 625 2015-04-23 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 626 627 * magick/blob.c (ReadBlobMSBLong, ReadBlobLSBLong): Attempt 628 to fix various "tainted" or "untrusted" variables 629 by masking off all but the lower 32 bits returned. 630 631 2015-04-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 632 633 * coders/xcf.c (ReadXCFImage): Fix Coverity 10216 "Integer 634 overflowed argument". 635 636 * magick/transform.c (FlipImage): Fix Coverity 61461 "Division or 637 modulo by zero". 638 639 * coders/gif.c: Protect against integer overflow in array size 640 calculations. Used unsigned type for colormap index. 641 642 2015-04-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 643 644 * coders/map.c (ReadMAPImage): Maybe quiet Coverity 10326 645 "Untrusted pointer read". 646 647 * magick/utility.c (GlobExpression): See if testing for null 648 terminating character quiets Coverity 10246 "Untrusted value as 649 argument". 650 651 * magick/transform.c (FlipImage): Possibly quiet case #4 of 652 Coverity 10311 "Untrusted value as argument". 653 654 * magick/utility.c (Base64Encode): Quiet Coverity 10296 and 10272 655 "Use of untrusted scalar value". 656 657 2015-04-22 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 658 659 * magick/blob.c (ReadBlobMSBShort, ReadBlobLSBShort): Attempt 660 to fix various "tainted" or "untrusted" variables, e.g., in 661 coders/gif.c and coders/sgi.c by masking off all but the lower 662 16 bits returned. 663 664 2015-04-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 665 666 * coders/tim.c (ReadTIMImage): Make TIM reader more robust against 667 EOF. 668 669 * coders/sct.c (ReadSCTImage): Make SCT reader more robust against 670 EOF. 671 672 * coders/pwp.c (ReadPWPImage): Test loop for EOF. 673 674 * coders/otb.c (ReadOTBImage): Make error reporting a bit more 675 robust. 676 677 * coders/jnx.c (ExtractTileJPG): Add some EOF checks. 678 679 * coders/cut.c (ReadCUTImage): Limit width/height to range of 680 signed integer. 681 682 * tests/rwfile.tap: Add a R/W file test for ART. 683 684 * tests/rwblob.tap: Add a R/W blob test for ART. 685 686 * coders/art.c (ReadARTImage): Improve error checking. 687 688 2015-04-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 689 690 * coders/sun.c (ReadSUNImage): Try to quench Coverity 10280 691 "Untrusted loop bound". 692 693 * coders/mpc.c (ReadMPCImage): Port MIFF header reading fixes. 694 695 2015-04-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 696 697 * coders/miff.c (ReadMIFFImage): MIFF reader failed to read some 698 MIFF headers properly. Fixes SourceForge issue #298 "invalid next 699 size (normal)/memory corruption". 700 701 2015-04-18 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 702 703 * coders/png.c (ReadMNGImage): Fix Coverity 55862 "Resource leak" 704 and quiet Coverity 55825, 55826, and 55827 "Data race condition". 705 706 2015-04-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 707 708 * magick/utility.c (GetToken): Fix an overlapping strlcpy() which 709 caused a crash in pedantic strlcpy() implementations while parsing 710 a SVG-style URL from text. Several other issues remain. 711 712 2015-04-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 713 714 * magick/command.c (ParseUnixCommandLine): Fix Coverity 59256 715 "Unused value". 716 717 2015-04-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 718 719 * magick/display.c (MagickXROIImage): Fix Coverity 10179 "Missing 720 break in switch". 721 (MagickXCropImage): Fix Coverity 10211 "Missing break in switch". 722 723 * magick/utility.c (Base64Decode): Fix Coverity 10203 "Missing 724 break in switch". 725 (Tokenizer): Quench Coverity 10182 "Missing break in switch". Not 726 believed to be an actual problem. 727 728 * magick/command.c (ParseUnixCommandLine): Fix Coverity 10174 and 729 10178 "Missing break in switch". 730 (ProcessBatchOptions): Fix Coverity 10180 "Missing break in 731 switch". 732 (ParseWindowsCommandLine): Fix Coverity 10220 "Missing break in 733 switch". 734 735 * coders/xwd.c (ReadXWDImage): Fix Coverity 10095 "Division or 736 modulo by zero". 3rd try. 737 738 2015-04-14 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 739 740 * coders/png.c (ReadOneJNGImage): Fix Coverity 55829 and 55846 741 "Resource leak". 742 743 2015-04-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 744 745 * magick/quantize.c (GrayscalePseudoClassImage): Fix Coverity 746 55831 "Resource leak". 2nd try. 747 748 * coders/vid.c (ReadVIDImage): Fix Coverity 55868 and 55874 749 "Resource leak". 2nd try. 750 751 2015-04-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 752 753 * coders/psd.c (ReadPSDImage): Fix Coverity 55855 "Resource 754 leak". 2nd try. 755 756 * coders/pict.c (PictPixmapOp): Fix Coverity 55875 and 55883 757 "Resource leak". 2nd try. 758 759 * coders/pcx.c (WritePCXImage): Fix Coverity 55877 "Resource 760 leak". 2nd try. 761 762 * coders/meta.c (format8BIM): Fix Coverity 55842 "Resource 763 leak". 2nd try. 764 765 * coders/mat.c (WriteMATLABImage): Fix Coverity 55850 "Resource 766 leak". 2nd try. 767 768 * coders/dpx.c (ReadDPXImage): Fix Coverity 55878 "Resource leak". 769 2nd try. 770 771 * coders/preview.c (WritePreviewImage): Fix Coverity 55988 772 "Resource leak". 773 774 2015-04-12 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 775 776 * coders/png.c (ReadOneJNGImage): Avoid some memory leaks 777 newly reported by Coverity (work in progress) 778 779 2015-04-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 780 781 * magick/resize.c (ScaleImage): Fix Coverity 55824 "Division or 782 modulo by float zero". 783 784 * magick/annotate.c (AnnotateImage): Fix Coverity 55863 785 "Uninitialized scalar variable". 786 787 * wand/magick_wand.c (MagickDrawImage): Fix Coverity 55828 788 "Resource leak". 789 (MagickMontageImage): Fix Coverity 55835 "Resource leak". 790 791 * wand/drawing_wand.c (DrawComposite): Fix Coverity 55849 792 "Resource leak". 793 794 * magick/widget.c (MagickXColorBrowserWidget): Fix Coverity 55854 795 "Resource leak". 796 797 * magick/resize.c (ScaleImage): Fix Coverity 55841, 55853, 55858, 798 and 55860 "Resource leak". 799 800 * magick/render.c (ConvertPathToPolygon): Fix Coverity 55836 801 "Resource leak". 802 (DrawDashPolygon): Fix Coverity 55837 "Resource leak". 803 804 * magick/quantize.c (GrayscalePseudoClassImage): Fix Coverity 805 55831 "Resource leak". 806 807 * magick/paint.c (ColorFloodfillImage): Fix Coverity 55886 808 "Resource leak". 809 810 * magick/map.c (MagickMapAddEntry): Possibly silence 55844 811 "Resource leak". 812 813 * magick/image.c (CloneImage): Fix Coverity 55833 "Resource leak". 814 815 * magick/effect.c (BlurImage): Fix Coverity 55851 "Resource leak". 816 817 * magick/display.c (MagickXAnnotateEditImage): Fix Coverity 55830 818 "Resource leak". 819 (MagickXVisualDirectoryImage): Fix Coverity 55894 "Resource leak". 820 821 * magick/constitute.c (ReadImages): Fix Coverity 55834 "Resource 822 leak". 823 (ReadInlineImage): Fix Coverity 55843 "Resource leak". 824 825 * magick/compress.c (HuffmanEncode2Image): Fix Coverity 55839 826 "Resource leak". 827 (HuffmanDecodeImage): Fix Coverity 55859 "Resource leak". 828 829 * magick/color.c (GetColorHistogram): Fix Coverity 55845 "Resource 830 leak". 831 (ComputeCubeInfo): Fix Coverity 55857 "Resource leak". 832 833 * coders/yuv.c (ReadYUVImage): Fix Coverity 55890 "Resource leak". 834 835 * coders/wpg.c (UnpackWPG2Raster): Fix Coverity 55832 and 55848 836 "Resource leak". 837 838 2015-04-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 839 840 * coders/vid.c (ReadVIDImage): Fix Coverity 55868 "Resource leak" 841 (ReadVIDImage): Fix Coverity 55874 "Resource leak". 842 843 * coders/txt.c (ReadTXTImage): Fix Coverity 55866 "Resource leak". 844 845 * coders/topol.c (ReadTOPOLImage): Fix Coverity 55865 "Resource 846 leak". 847 848 * coders/sgi.c (WriteSGIImage): Fix Coverity 55891 "Resource leak". 849 850 * coders/psd.c (ReadPSDImage): Fix Coverity 55855 "Resource leak". 851 852 * coders/pict.c (WritePICTImage): Fix Coverity 55867, 55875, 55883 853 "Resource leak". Fix Coverity 55892 "Resource leak". 854 855 * coders/pdb.c (ReadPDBImage): Fix Coverity 55840, 55856, and 856 55885 "Resource leak". 857 858 * coders/pcx.c (WritePCXImage): Fix Coverity 55877 "Resource 859 leak". 860 861 * coders/mvg.c (ReadMVGImage): Fix Coverity 55873 "Resource leak". 862 863 * coders/mpeg.c (WriteMPEGImage): Fix Coverity 55880 "Resource 864 leak". 865 866 * coders/miff.c (WriteMIFFImage): Fix Coverity 55864 "Resource 867 leak". 868 (WriteMIFFImage): Fix Coverity 55872 "Resource leak". 869 870 * coders/meta.c (formatIPTCfromBuffer): Fix Coverity 55838 871 "Resource leak". 872 (format8BIM): Fix Coverity 55842 and 55852 "Resource leak". 873 (formatIPTC): Fix Coverity 5882 "Resource leak". 874 875 * coders/mat.c (ReadMATImage): Fix Coverity 55850 "Resource leak". 876 877 * coders/map.c (ReadMAPImage): Fix Coverity 55876 "Resource leak". 878 879 * coders/logo.c (ReadLOGOImage): Fix Coverity 55870 "Resource 880 leak". 881 882 * coders/label.c (ReadLABELImage): Fix Coverity 55869 "Resource 883 leak". 884 885 * coders/icon.c (ReadIconImage): Fix Coverity 55887 "Resource 886 leak". 887 888 * coders/fits.c (WriteFITSImage): Fix Coverity 55884 "Resource 889 leak". 890 891 * coders/dpx.c (WriteDPXImage): Fix Coverity 55861 "Resource 892 leak". 893 (ReadDPXImage): Fix Coverity 55878 "Resource leak". 894 (ReadDPXImage): Fix Coverity 55879 "Resource leak". 895 896 * coders/dib.c (WriteDIBImage): Fix Coverity 55881 "Resource 897 leak". 898 (WriteDIBImage): Fix Coverity 55895 "Resource leak". 899 900 * coders/cut.c (ReadCUTImage): Fix Coverity 55893 "Resource leak". 901 902 * coders/caption.c (ReadCAPTIONImage): Fix Coverity 55888 903 "Resource leak". 904 (ReadCAPTIONImage): Fix Coverity 55889 "Resource leak". 905 (ReadCAPTIONImage): Fix Coverity 55896 "Resource leak". 906 907 * magick/annotate.c (RenderX11): Silence Coverity 10106 "Logically 908 dead code". 909 910 * coders/xcf.c: Silence Coverity 10224, 10233, and 10236 "Improper 911 use of negative value". 912 913 * coders/mat.c (ReadMATImage): Silence Coverity 10175 "Improper 914 use of negative value" 915 916 * coders/tga.c (ReadTGAImage): Silence Coverity 10088 "Operands 917 don't affect result". 918 919 * magick/annotate.c (RenderFreetype): Silence Coverity 14396 and 920 44755 "Unused value". 921 922 * coders/wpg.c (LoadWPG2Flags): Silence Coverity 10273 and 10253 923 "Unused value". 924 925 * magick/montage.c (MontageImages): Silence Coverity 10255 "Unused 926 value". 927 (MontageImages): Silence Coverity 10264 "Unused value". 928 929 2015-04-09 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 930 931 * coders/png.c (ReadOneJNGImage): Avoid using a NULL alpha_image 932 or color_image. (ReadJNGImage): Removed an extraneous CloseBlob(). 933 934 2015-04-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 935 936 * magick/utility.c (MagickCreateDirectoryPath): Silence Coverity 937 10098 "Logically dead code". 938 939 * magick/resource.c (InitializeMagickResources): Silence Coverity 940 10101 "Logically dead code". 941 942 * magick/magick.c (MagickSignalHandlerMessage): Fix Coverity 44725 943 "Logically dead code". 944 945 * magick/log.c (DestroyLogInfo): Silence Coverity 53659 and 53661 946 "Data race condition". 947 (ReadLogConfigureFile): Silence Coverity 53660 "Data race 948 condition". 949 950 * magick/effect.c (DespeckleImage): Fix error handling issue 951 caused by shadowed variable. Fixes Coverity 10099 "Logically dead 952 code". 953 954 * magick/command.c (TimeImageCommand): Fix Coverity 10097 955 "Logically dead code". 956 957 * magick/attribute.c (ReadMSBLong): Hopefully silence Coverity 958 10276 "Unintended sign extension". 959 960 * coders/sgi.c (ReadSGIImage, WriteSGIImage): Fix Coverity 10243, 961 10244, 10247, 10254, and 10294 "Unintended sign extension". 962 963 2015-04-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 964 965 * magick/xwindow.c (MagickXMakeImage): Quiet Coverity 10282 966 "Unused value". 967 968 2015-04-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 969 970 * coders/tiff.c (WriteTIFFImage): Another change targeting 971 Coverity 44742 and 44746 "Unintended sign extension". 972 973 2015-04-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 974 975 * magick/render.c (TracePath): Fix Coverity 10258 "Uninitialized 976 scalar variable". 977 978 * magick/widget.c (MagickXFontBrowserWidget): Fix Coverity 10323 979 "Sizeof not portable". 2nd try. 980 981 * coders/xwd.c (ReadXWDImage): Fix Coverity 10095, 10100, 10104 982 "Division or modulo by zero". 2nd try. 983 984 * magick/analyze.c (GetImageCharacteristics): Fix Coverity 10096 985 "Logically dead code". 986 987 * coders/yuv.c (ReadYUVImage): Fix Coverity 10260 "Structurally 988 dead code". 989 990 * coders/xcf.c (ReadXCFImage): Fix Coverity 10226 "Missing break 991 in switch". 992 993 * coders/tim.c (ReadTIMImage): Fix Coverity 10249 "Unused value". 994 995 * coders/tiff.c (CompressionSupported): Fix Coverity 44723 996 "Logically dead code". 997 (WriteTIFFImage): Fix Coverity 44742 and 44746 "Unintended sign 998 extension". 999 1000 * coders/ps3.c (WritePS3Image): Validate results from TellBlob() 1001 and SeekBlob(). Should quiet Coverity 10198 "Improper use of 1002 negative value". 1003 1004 * coders/ps2.c (WritePS2Image): Validate results from TellBlob() 1005 and SeekBlob(). Should quiet Coverity 10230 "Improper use of 1006 negative value". 1007 1008 * coders/mpeg.c (WriteMPEGImage): Quiet Coverity 10176 "Missing 1009 break in switch". 1010 1011 * coders/map.c (WriteMAPImage): Make MAP reader/writer more 1012 robust. May quiet 10326 "Untrusted pointer read". 1013 1014 * coders/locale.c (ReadLOCALEImage): Quiet Coverity 10108 1015 "Logically dead code". 1016 1017 * coders/rle.c: Make URT RLE reader more robust. Should quiet 1018 Coverity CID 10070 "Bad bit shift operation", as well as 10235 1019 "Improper use of negative value". 1020 1021 2015-04-04 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 1022 1023 * coders/png.c (WriteOneJNGImage): Quiet Coverity CID issue 14370, 1024 "Unused value" (status was ignored). 1025 1026 * coders/png.c (ReadOneJNGImage): Quiet Coverity CID issue 44724, 1027 "Logically dead code" (skip_to_iend can't be true). 1028 1029 * coders/png.c (ReadOnePNGImage): Attempt to quiet Coverity 1030 CID 10232 "Missing unlock", by using png_error() instead of 1031 throwing an exception. 1032 1033 2015-04-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1034 1035 * coders/xwd.c (ReadXWDImage): Fix Coverity 10104 "Division or 1036 modulo by zero". 1037 1038 * magick/resize.c (ResizeImage): Fix Coverity 53404 "Division or 1039 modulo by zero". 1040 1041 * coders/ps3.c (WritePS3MaskImage): Fix Coverity 53415 "Improper 1042 use of negative value". 1043 1044 * coders/meta.c (parse8BIM): Fix Coverity 53413 "Improper use of 1045 negative value". 1046 (parse8BIMW): Fix Coverity 53414 "Improper use of negative value". 1047 1048 * magick/utility.c (GetMagickGeometry): Fix Coverity 53403 and 1049 53405 "Division or modulo by float zero". 1050 (GetPathComponent): Fix Coverity 53417 "Wrong sizeof argument. 1051 1052 * magick/quantize.c (GrayscalePseudoClassImage): Fix Coverity 1053 10256 "Wrong sizeof argument". 1054 1055 * magick/image.c (ResetImagePage): Fix Coverity 53401 "Division or 1056 modulo by float zero" and 53402 "Division or modulo by float 1057 zero". 1058 1059 * coders/histogram.c (WriteHISTOGRAMImage): Silence Coverity 10107 1060 "Division or modulo by float zero". 2nd try. 1061 1062 * magick/xwindow.c (MagickXImportImage): Silence Coverity 10207 1063 "Array compared against 0". 1064 1065 * magick/widget.c (MagickXColorBrowserWidget): Silence Coverity 1066 53406 "Identical code for different branches". 1067 (MagickXListBrowserWidget): Silence Coverity 53407 "Identical code 1068 for different branches". 1069 1070 * magick/animate.c (MagickXMagickCommand): Silence Coverity 53410 1071 "Identical code for different branches". 1072 1073 * coders/rgb.c (WriteRGBImage): Silence Coverity 53409 "Identical 1074 code for different branches". 1075 1076 * coders/cmyk.c (WriteCMYKImage): Silence Coverity 53408 1077 "Identical code for different branches". 1078 1079 * magick/xwindow.c (MagickXMakeImage): Silence Coverity 44727 1080 "Dereference after null check". 2nd try. 1081 1082 * magick/utility.c (EscapeString): Silence Coverity 53416 1083 "Dereference before null check". 1084 1085 * coders/gif.c (WriteGIFImage): Fix Coverity 10219 "Dereference 1086 null return value". 1087 1088 * magick/log.c (InitializeLogInfo): Hopefully silence Coverity 1089 53411 and 53412 "Data race condition". 1090 1091 * coders/cineon.c (AttributeToString): Silence Coverity 10079 1092 "Buffer not null terminated". 2nd try. The buffer is not 1093 required to be null terminated! 1094 1095 * coders/pict.c (ReadPICTImage): 10171 "Resource leak". 2nd try. 1096 1097 * coders/wmf.c (util_set_brush): Silence Coverity 44739 1098 "Out-of-bounds access". 2nd try. 1099 1100 2015-03-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1101 1102 * magick/log.c (SetLogEventMask): Silence Coverity 10069 "Value 1103 not atomically updated". Logging initialization is done 1104 single-threaded entirely in InitializeLogInfo() now. 1105 1106 2015-03-28 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 1107 1108 * coders/png.c (ReadOnePNGImage): Attempt to quiet Coverity 1109 44734 "Data race condition" by freeing mng_info->png_pixels 1110 and mng_info->quantum_scanline separately from MngInfoFreeStruct. 1111 1112 2015-03-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1113 1114 * magick/widget.c (XEditText): Silence Coverity 10072 "Overlapping 1115 buffer in memory copy" 1116 1117 * coders/locale.c (ReadConfigureFile): Silence Coverity 10075 1118 "Overlapping buffer in memory copy". 1119 1120 * magick/xwindow.c (MagickXMakeWindow): Silence Coverity 10076 1121 "Overlapping buffer in memory copy". 1122 1123 * coders/dcm.c (funcDCM_TransferSyntax): Silence Coverity 10083 1124 "Unchecked return value". 1125 1126 * magick/static.c (ExecuteStaticModuleProcess): Silence Coverity 1127 10082 "Unchecked return value". 1128 1129 * coders/cals.c (ReadCALSImage): Silence Coverity 10086 "Unchecked 1130 return value from library". 1131 (ReadCALSImage): Silence Coverity 10085 "Unchecked return value". 1132 (ReadCALSImage): Silence Coverity 10084 "Unchecked return value 1133 from library". 1134 1135 * magick/enhance.c (ModulateImage): Silence Coverity 10087 1136 "Unchecked return value". 1137 1138 2014-03-24 Jaroslav Fojtik <JaFojtik@seznam.cz> 1139 1140 * coders/wpg.c More paranoa in checking ReadBlobByte() negative return. 1141 1142 2015-03-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1143 1144 * magick/attribute.c (Generate8BIMAttribute): Silence Coverity 1145 10195 "Argument cannot be negative". 1146 1147 * Magick++/lib/Image.cpp (syncPixels): Silence Coverity 44722 1148 "Unchecked return value". 1149 (fontTypeMetrics): Silence Coverity 44721 "Unchecked return 1150 value". 1151 1152 * magick/render.c (ConvertPathToPolygon): Silence Coverity 10120 1153 "Dereference after null check". 1154 1155 * magick/effect.c (EmbossImage): Silence Coverity 10114 1156 "Dereference after null check". 1157 (AdaptiveThresholdImage): Silence Coverity 10118 "Explicit null 1158 dereferenced". 1159 1160 * coders/msl.c (MSLPushImage): Silence Coverity 10128 "Dereference 1161 after null check". 1162 1163 * magick/render.c (DrawPolygonPrimitive): Silence Coverity 10136 1164 "Dereference after null check". 1165 1166 * wand/drawing_wand.c (DrawSetStrokeDashArray): Silence Coverity 1167 10117 "Dereference after null check". 1168 1169 * magick/draw.c (DrawSetStrokeDashArray): Silence Coverity 10150 1170 "Dereference after null check". 1171 1172 * wand/drawing_wand.c (DrawPushGraphicContext): Silence Coverity 1173 10151 "Dereference after null check". 1174 1175 2015-03-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1176 1177 * coders/meta.c (parse8BIM): Silence Coverity 10159 "Explicit null 1178 dereferenced". 1179 (parse8BIMW): Silence Coverity 10144 "Explicit null dereferenced". 1180 1181 * coders/uil.c (WriteUILImage): Silence Coverity 10202 1182 "Dereference after null check". In fact, UIL output was not 1183 working at all due to this bug. 1184 1185 * magick/xwindow.c (MagickXMakeImage): Silence Coverity 44727 1186 "Dereference after null check". 1187 1188 * Magick++/lib/Image.cpp (colorMapSize): Silence Coverity 44728 1189 "Dereference after null check". 1190 1191 * coders/vid.c (ReadVIDImage): Silence Coverity 44730 "Explicit 1192 null dereferenced". 1193 1194 * coders/mpc.c (ReadMPCImage): Silence Coverity 44732 "Dereference 1195 after null check". 1196 1197 * Magick++/lib/Image.cpp (signature): Silence Coverity 44735 1198 "Dereference null return value". 1199 1200 * coders/ps.c (ReadPSImage): Ghostscript options concatenation 1201 should be more secure against buffer overflow. 1202 1203 * coders/pdf.c (ReadPDFImage): Applied patch by Chris Gilling such 1204 that '-define pdf:stop-on-error=true' will stop PDF processing 1205 immediately upon an error. 1206 (ReadPDFImage): Ghostscript options concatenation should be more 1207 secure against buffer overflow. 1208 1209 2015-03-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1210 1211 * magick/animate.c (MagickXAnimateImages): Silence Coverity 44736 1212 "Dereference null return value". Also fixed apparent memory leak 1213 that Coverity did not notice. 1214 1215 * coders/fits.c (ReadFITSImage): Silence Coverity 10209 1216 "Dereference before null check". 1217 1218 * magick/color_lookup.c (ReadColorConfigureFile): Silence Coverity 1219 44743 "Dereference before null check". 1220 1221 * magick/xwindow.c (MagickXMakeImage): Silence Coverity 44745 1222 "Dereference before null check". 1223 1224 * coders/pict.c (ReadPICTImage): Hopefully address consequences of 1225 Coverity 10292 "Untrusted loop bound" although it will likely 1226 still complain. 1227 1228 * magick/utility.c (LocaleCompare, LocaleNCompare): Try to create 1229 an implementation that Coverity won't label an "tainted sink", and 1230 therefore result in a Coverity "Use of untrusted scalar value" 1231 report whenever a string from an external source is compared. The 1232 original implementations are not believed to be faulty. 1233 1234 2015-03-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1235 1236 * magick/command.c (ProcessBatchOptions): Silence Coverity 10080 1237 "Buffer not null terminated". 1238 1239 * magick/widget.c (MagickXConfirmWidget): Silence Coverity 10089 1240 "Copy-paste error". This is an amazing find by Coverity. 1241 1242 * magick/xwindow.c (MagickXImportImage): Silence Coverity 10207 1243 "Array compared against 0". 1244 1245 * magick/quantize.c (GrayscalePseudoClassImage): Silence Coverity 1246 10256 "Wrong sizeof argument". 1247 1248 * coders/tiff.c (ReadTIFFImage): Fix Coverity 44747 and 44748 1249 "Extra sizeof expression". 1250 1251 2015-03-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1252 1253 * Magick++/lib/Magick++/Include.h (Magick): Fix compilation with 1254 'clang' under Linux. Build was broken yesterday. 1255 1256 * coders/tiff.c (QuantumTransferMode): Fix reading Old JPEG and 1257 YCbCr sample images from libtiff pics-3.8.0.tar.gz image file 1258 collection. There was a regression for YCbCr added in last 1259 release. 1260 1261 2015-03-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1262 1263 * coders/bmp.c (ReadBMPImage): Fix Coverity 44726 "Division or 1264 modulo by float zero". I don't think that this can actually 1265 happen due to prior checks. 1266 1267 * magick/xwindow.c (MagickXMakeWindow): Silence Coverity 10281 1268 "Copy into fixed size buffer". 1269 1270 * coders/pdf.c (ReadPDFImage): Silence Coverity 10241 "Copy into 1271 fixed size buffer". 1272 1273 * magick/type.c (ReadTypeConfigureFile): Silence Coverity 10242 1274 "Copy into fixed size buffer". 1275 1276 * magick/utility.c (GetPathComponent): Silence Coverity 10263 1277 "Copy into fixed size buffer". 1278 1279 * coders/txt.c (ReadTXTImage): Silence Coverity 10287 "Copy into 1280 fixed size buffer". 1281 1282 * coders/ps.c (WritePSImage): Silence Coverity 10289 "Copy into 1283 fixed size buffer". 1284 1285 * magick/delegate.c (ReadConfigureFile): Silence Coverity 10297 1286 "Copy into fixed size buffer". 1287 1288 * magick/log.c (ReadLogConfigureFile): Silence Coverity 10300 1289 "Copy into fixed size buffer". 1290 1291 * coders/ps3.c (WritePS3Image): Silence Coverity 10303 "Copy into 1292 fixed size buffer". 1293 1294 * coders/pdf.c (WritePDFImage): Silence Coverity 10304 "Copy into 1295 fixed size buffer". 1296 1297 * coders/ps.c (ReadPSImage): Silence Coverity 10306 "Copy into 1298 fixed size buffer". 1299 1300 * coders/msl.c (MSLStartElement): Silence Coverity 10308 "Copy 1301 into fixed size buffer". 1302 1303 * coders/ps2.c (WritePS2Image): Silence Coverity 10309 "Copy into 1304 fixed size buffer". 1305 1306 * Magick++/lib/Geometry.cpp (operator): Silence Coverity 44749 1307 "Copy into fixed size buffer". 1308 1309 * Magick++/lib/Image.cpp (annotate): Silence Coverity 44750 "Copy 1310 into fixed size buffer". 1311 1312 * coders/ept.c (ReadEPTImage): Silence Coverity 44751 "Copy into 1313 fixed size buffer". 1314 1315 * coders/wmf.c (ipa_device_begin): Silence Coverity 44753 "Copy 1316 into fixed size buffer". 1317 (lite_font_map): Silence Coverity 44752 "Copy into fixed size 1318 buffer". 1319 1320 * magick/random.c (InitializeMagickRandomKernel): Silence Coverity 1321 10091 "Don't Call" in the case where /dev/random is available. 1322 1323 * coders/mpeg.c (WriteMPEGParameterFiles): Fix Coverity 10190 1324 "Resource leak". File descriptor was leaked under certain error 1325 conditions. 1326 1327 * coders/wpg.c (UnpackWPG2Raster): Fix Coverity 10312 1328 "Uninitialized scalar variable" gripe. 1329 1330 * magick/utility.c (ListFiles): Possibly address 1331 Coverity 10245 "Sizeof not portable" gripe. 1332 1333 * magick/widget.c (MagickXFontBrowserWidget): Possibly address 1334 Coverity 10323 "Sizeof not portable" gripe. 1335 1336 * coders/mat.c (WriteMATLABImage): FormatString() requires a 1337 buffer of MaxTextExtent bytes. Use sprintf instead. Fix for 1338 Coverity issue 10170. 1339 1340 * Magick++/lib/Geometry.cpp (string): FormatString() requires a 1341 buffer of MaxTextExtent bytes. Fix for Coverity issue 44737. 1342 1343 * coders/wmf.c (draw_pattern_push): FormatString() requires a 1344 buffer of MaxTextExtent bytes. Fix for Coverity issue 44741. 1345 (ipa_device_begin): FormatString() requires a buffer of 1346 MaxTextExtent bytes. Fix for Coverity issue 44740. 1347 (util_set_brush): FormatString() requires a buffer of 1348 MaxTextExtent bytes. Fix for Coverity issue 44739. 1349 (ipa_region_clip): FormatString() requires a buffer of 1350 MaxTextExtent bytes. Fix for Coverity issue 44738. 1351 1352 2015-03-15 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 1353 1354 * coders/png.c (WritePNGImage) Avoid a Coverity gripe about 1355 potential NULL dereference (actually it is impossible because 1356 png_error() does not return. Fix for Coverity gripe 44731. 1357 1358 * coders/png.c (WritePNGImage) Avoid a null pointer dereference 1359 while logging inherited color_type. Fix for Coverity issue 10185. 1360 1361 * coders/png.c (WriteOneJNGImage) Avoid possible unintended sign 1362 extension. Fix for Coverity issue 44744. 1363 1364 * coders/png.c (WriteOnePNGImage) Quiet a false Coverity warning 1365 about dereference after NULL check. Fix for Coverity issue 44729. 1366 1367 * coders/png.c (ReadOnePNGImage): Redid the "Respect the 1368 PixelsResource limit" patch of March 7, using unsigned arithmetic 1369 to determine the width limit. Sometimes the calculated 1370 width limit was incorrectly zero. 1371 1372 2015-03-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1373 1374 * magick/image.c (SetImageInfo): Fix problems with reading 1375 filenames that include a colon. Resolves SourceForge bug #294 1376 "display and convert (probably other things too) choke on 1377 filenames with colons in". 1378 1379 * magick/utility.c (GetPathComponent): Fix SubImagePath 1380 extraction. Fixes SourceForge bug #66 "converting runs slowly when 1381 subimage is specified". 1382 1383 2015-03-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1384 1385 * doc/options.imdoc (-geometry): Document the significance of 'x' 1386 as used in a geometry specification. In particular, document that 1387 if width is specified without a trailing 'x' that height is set to 1388 width. This is in response to SourceForge bug #296 "Strange 1389 -resize WIDTH results with version 1.3.21". 1390 1391 2015-03-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1392 1393 * magick/utility.c (GlobExpression): Remove use of IsSubimage(). 1394 1395 * magick/image.c (IsSubimage): Re-implement with a more robust 1396 solution. Combined with fixes to ps.c and pdf.c, allows selecting 1397 specific pages, as well as re-ordering. 1398 1399 * coders/ps.c (ReadPSImage): Set image frame scene ids 1400 appropriately. 1401 1402 * coders/pdf.c (ReadPDFImage): Set image frame scene ids 1403 appropriately. 1404 1405 * magick/utility.c (TranslateTextEx): -format %Q should report 1406 JPEG quality estimate if it is available. Resolves SourceForge 1407 bug #293 "gm identify bug?". 1408 1409 * doc/options.imdoc: Documented JPEG-specific -format tags. 1410 1411 2015-03-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1412 1413 * Magick++/lib/Image.cpp (repage): New method to reset page 1414 settings. Contributed by Dirk Lemstra. 1415 1416 2015-03-07 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 1417 1418 * coders/png.c (ReadOnePNGImage): Respect the PixelsResource 1419 limit. 1420 1421 * coders/png.c (ReadOnePNGImage): Moved quantum_scanline 1422 and png_pixels into the MngInfo struct. This prevents 1423 memory leaks when reading malformed PNG images, but unfortunately 1424 triggers a new complaint about a possible race condition. 1425 1426 * coders/png.c (ReadOnePNGImage): Removed two superflous calls to 1427 CloseBlob(). 1428 1429 * coders/png.c (ReadOnePNGImage): Do the allocation and free of 1430 quantum_scanline outside the "pass" loop, i.e., do it once per 1431 image rather than once per pass while decoding interlaced PNG 1432 images. Log these when -debug coders is enabled. 1433 1434 * coders/png.c: Fixed typo recently introduced in the JNG reader 1435 (status != MagickFalse should be status == MagickFalse). 1436 1437 2015-03-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1438 1439 * coders/xwd.c (ReadXWDImage): Fix memory leaks in error paths. 1440 1441 * coders/xpm.c (ReadXPMImage): Fix memory leaks in error paths. 1442 1443 * coders/miff.c (ReadMIFFImage): Fix memory leak of Image in error 1444 case. 1445 (ReadMIFFImage): Fix memory leaks of zlib and bzlib2 context in 1446 error path which reports decompression failure. 1447 1448 * coders/bmp.c (ReadBMPImage): BMP reader was wrongly rejecting 1449 RLE-compressed files as being too small. Fixes SourceForge bug 1450 #295 "1.3.21 identify regression". Also fixed 'ping' support code 1451 which was still reading the pixels in 'ping' mode. 1452 (ReadBMPImage): Fix memory leak when BMP is handled as a sequence. 1453 1454 2015-03-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1455 1456 * coders/palm.c (ReadPALMImage): PALM reader now applies PALM's 1457 special non-linear colormap if the file does not provide a custom 1458 colormap. Custom colormap size is verified to not exceed image 1459 colors. Added logging statements regarding colormap. 1460 1461 2015-02-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1462 1463 * www/index.rst: Update for 1.3.21 release. 1464 1465 * www/Changes.rst: Update for 1.3.21 release. 1466 1467 * NEWS.txt: Update NEWS for 1.3.21 release. 1468 1469 * version.sh: Bump/adjust library versioning. 1470 1471 2015-02-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1472 1473 * magick/delegate.c: Fix compilation under Cygwin. Thanks to Marco 1474 Atzeri for advising us of this problem. 1475 1476 2015-02-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1477 1478 * magick/error.h (ThrowReaderException): More significant 1479 exceptions (e.g. errors) should overwrite less significant 1480 exceptions (e.g. warnings) thrown earlier. 1481 1482 * coders/bmp.c (ReadBMPImage): Detect 32-bit integer overflows and 1483 other annoyances caused by intentionally broken files. Also, only 1484 warn if the file header claims the file is larger than it is since 1485 this is a benign issue. 1486 1487 * magick/blob.c (OpenBlob): Fix "magic header bytes" log message 1488 count value. 1489 1490 2015-02-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1491 1492 * NEWS.txt: Updated NEWS with more changes. 1493 1494 * Magick++/lib/Magick++/Include.h (Magick): Add GetImageGeometry 1495 to MagickLib namespace in order to avoid a compilation problem 1496 noticed with Visual C++ 6.0. 1497 1498 2014-02-22 Jaroslav Fojtik <JaFojtik@seznam.cz> 1499 1500 * VisualMagick\configure\configure.cpp Fixed crash. 1501 Renamed debug to configure_d.exe to prevent mess. 1502 1503 2015-02-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1504 1505 * magick/magick.c (InitializeMagick): Invoke 1506 NTInitializeExceptionHandlers() under Windows. 1507 1508 * magick/nt_base.c (NTInitializeExceptionHandlers): Add a new 1509 private function which disables pop-up Windows on exceptions and 1510 registers a handler for Windows exceptions to clean up temporary 1511 files prior to program exit. 1512 1513 * magick/magick.c (PanicDestroyMagick): Use 1514 PurgeTemporaryFilesAsyncSafe() rather than PurgeTemporaryFiles(). 1515 (InitializeMagickSignalHandlers): Always register for SIGINT, even 1516 under Microsoft Windows. 1517 1518 * magick/tempfile.c (PurgeTemporaryFilesAsyncSafe): New private 1519 function to clean up temporary files prior to program exit. 1520 Async-safe so it can be safely called from a signal handler. 1521 Intentionally leaks memory. 1522 1523 2015-02-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1524 1525 * magick/attribute.c (GenerateEXIFAttribute): Fix crash while 1526 parsing corrupt EXIF which was reported by Stijn Sanders on 1527 2015-02-17. 1528 1529 * Magick++/lib/{Blob.cpp, Image.cpp}: Incorrect lock scope 1530 resulted in Magick++ locking not actually working to protect 1531 critical sections in spite of no detected problems with locking 1532 these past 16 years. Problem was detected using the 1533 misc-unused-raii check from clang-tidy and was reported by Hyrum 1534 Wright. 1535 1536 * coders/palm.c (ReadPALMImage): Add header logging to writer. 1537 Writer still seeks and overwrites its own header so logging is not 1538 entirely accurate yet. 1539 1540 2015-02-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1541 1542 * libtool: Update GNU libtool to 2.4.6. 1543 1544 * coders/palm.c (ReadPALMImage): Fix support for transparency in 1545 PALM reader. 1546 1547 2015-02-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1548 1549 * coders/palm.c (ReadPALMImage): Major re-work of PALM reader. 1550 More log message improvements. More header validation. 1551 1552 2015-02-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1553 1554 * coders/palm.c (ReadPALMImage): Improve log messages. Add more 1555 header validation. Check image pixel limits. Support 'ping' 1556 mode. 1557 1558 2015-02-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1559 1560 * coders/palm.c (ReadPALMImage): PALM reader now supports 1, 2, 4, 1561 8, and 16-bit test files we were able to generate using 1562 'pnmtopalm'. A progress monitor was added. Memory leaks in error 1563 paths were fixed. 1564 1565 2015-02-12 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 1566 1567 * coders/png.c: Insert "if (QuantumTick(...))" ahead of 1568 each "if (!MagickMonitorFormatted(...)". 1569 1570 2015-02-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1571 1572 * coders/rla.c (ReadRLAImage): Assure that header ASCII strings 1573 are properly terminated. Resolves Coverity CID 10322. 1574 1575 2015-02-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1576 1577 * magick/nt_base.h (STDERR_FILENO): Provide definitions for 1578 standard POSIX file numbers so that Visual Studio should compile. 1579 Fixes SourceForge bug #291 "STDERR_FILENO (used in magick.c) is 1580 not defined under Windows" 1581 1582 2015-02-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1583 1584 * Magick++/lib/Image.cpp (Image::quiet()): Patch by Dirk Lemstra 1585 to support silencing warnings in Magick++. Adds a quiet() method 1586 which blocks (ignores) warning exceptions when passed a true 1587 argument. Warning exceptions are still generated by default. 1588 1589 * coders/tiff.c: Support '-define tiff:report-warnings=true' to 1590 enable that warnings reported by libtiff are thrown as warning 1591 exceptions so that they may be caught or will be reported at the 1592 gm command-line. 1593 1594 2015-02-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1595 1596 * coders/tiff.c (WriteTIFFImage): Use YCbCr encoding when JPEG 1597 compression is requested for an RGB image. 1598 1599 2015-02-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1600 1601 * coders/tiff.c (QuantumTransferMode): Fix reading or writing 1602 planar min-is-white or min-is-black images with an associated 1603 alpha channel. 1604 1605 2015-02-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1606 1607 * coders/xpm.c (ReadXPMImage): Reading empty XPM file should not 1608 cause bad memory access. 1609 1610 * coders/gif.c (DecodeImage): Assure that GIF decoder does not use 1611 unitialized data. 1612 1613 * coders/jpeg.c (ReadJPEGImage): Verify that we support the number 1614 of output components before proceeding to decode the image. 1615 1616 2015-01-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1617 1618 * coders/miff.c (ReadMIFFImage): MIFF needs to stop spinning if 1619 zlib or bzlib report an error while decompressing. Solves problem 1620 with file provided by Jodie Cunningham on 2015-01-25. 1621 1622 * coders/vicar.c (ReadVICARImage): Fix Vicar reader's dogged 1623 determination to continue reading when there is nothing left to 1624 read. Solves problem with file provided by Jodie Cunningham on 1625 2015-01-25. 1626 1627 * magick/magick.c (PanicDestroyMagick): Replace memory allocation 1628 functions with dummy functions rather than NULL pointers. 1629 (InitializeMagickSignalHandlers): Register 1630 MagickPanicSignalHandler() for SIGSEGV. 1631 (MagickPanicSignalHandler): Produce an informative message for the 1632 user. 1633 (MagickSignalHandlerMessage): Include more detailed information 1634 from the signal handler via a common routine used by default 1635 signal handlers. 1636 1637 2015-01-25 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 1638 1639 * coders/bmp.c (ReadBMPImage): An attempt to address CID 10291. 1640 1641 2015-01-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1642 1643 * magick/nt_base.c (Exit): Changed to return 'void'. Function can 1644 not return a value if it does not return. 1645 1646 * magick/error.c (DefaultFatalErrorHandler): Invoke 1647 PanicDestroyMagick() rather than DestroyMagick(). If we are 1648 really that short on memory, DestroyMagick() might not work. 1649 1650 * magick/magick.c (MagickPanicSignalHandler): Only use async-safe 1651 functions in signal handler. 1652 (PanicDestroyMagick): New function for emergency release of 1653 persistent resources just prior to program exit. Async-safe and 1654 does not acquire or release any heap memory. 1655 1656 * magick/export.c: Eliminate two 'clang' warnings. 1657 1658 2015-01-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1659 1660 * coders/pdb.c (ReadPDBImage): Fix typo. 1661 1662 * coders/cineon.c (ReadCINEONImage): Enforce that Cineon image 1663 info channels is valid. Solves problem with file provided by 1664 Jodie Cunningham on 2015-01-24 1665 1666 * coders/fits.c (ReadFITSImage): Enforce valid bits-per-pixel 1667 values. Add detailed header logging. Solves problem with file 1668 provided by Jodie Cunningham on 2015-01-24 1669 1670 2015-01-22 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 1671 1672 * coders/png.c (ReadPNGImage): Check length of various MNG 1673 chunks before using the chunk data. 1674 1675 * coders/png.c (WriteOnePNGImage): Use png_error() instead of 1676 throwing an exception so cleanup in the setjmp block can happen, 1677 including unlocking the semaphore. Addresses Coverity CID 10184. 1678 1679 2015-01-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1680 1681 * coders/gif.c (WriteGIFImage): Don't use an unchecked value from 1682 GetImageAttribute(), even if the access succeeded before. 1683 Resolves Coverity CID 10219. 1684 1685 * coders/dpx.c (StringToAttribute): Make sure that string is not 1686 accidentally shortened by one character if it occupies the full 1687 field size. 1688 (ReadDPXImage): Validate that the bits per sample claimed by the 1689 file header is a supported depth before using it further in the 1690 code. This might resolve Coverity CID 10071 "Bad shift 1691 operation". 1692 (ReadDPXImage): Check for EOF while reading forward to element 1693 data. Might solve Coverity CID 10305. 1694 1695 * coders/dib.c (ReadDIBImage): Resolve Coverity CID 10228 "Integer 1696 overflowed argument". 1697 (ReadDIBImage): Hopefully resolve Coverity CID 10268 "Various", 1698 which is primarily about placing too much trust in the claimed 1699 number of colors. 1700 1701 * coders/pnm.c (WritePNMImage): Fix overwrite of status by 1702 progress monitor. Remaining issues may lurk within. May resolve 1703 Coverity CID 10288. 1704 1705 * coders/pdb.c: Resolve Coverity CID 11173 "Buffer not null 1706 terminated". 1707 1708 2015-01-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1709 1710 * magick/magick.c (GetMagickInfoArray): Resolve Coverity CID 10212 1711 "Missing unlock". 1712 1713 * magick/colormap.c (ReplaceImageColormap): Allocate new image 1714 colormap up front in order to avoid the possibility that we are 1715 left with an image with no colormap due to memory allocation 1716 failure. If there is a memory allocation failure, then the 1717 original colormap is preserved. Resolves Coverity CID 10194 1718 "Dereference after null check". 1719 1720 * magick/utility.c (MagickStripSpacesFromString): New private 1721 utility function to strip spaces from a string. 1722 1723 * magick/color_lookup.c (GetColorInfoArray): Resolves Coverity CID 1724 10231 "Missing unlock" 1725 (ReadColorConfigureFile): Resolves Coverity CID 10261 "Use of 1726 untrusted scalar value" 1727 (GetColorInfo): Resolves Coverity CID 10077 "Overlapping buffer in 1728 memory copy". 1729 1730 2015-01-21 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 1731 1732 * coders/png.c (ReadOnePNGImage): Use png_error() instead of 1733 throwing an exception so cleanup in the setjmp block can happen, 1734 including unlocking the semaphore. Resolves Coverity CID 10232. 1735 1736 * coders/png.c (ReadOnePNGImage): Moved a logging statement into a 1737 block where "attribute" has been checked for NULL. Resolves 1738 Coverity CIDs 10185 and 10187. 1739 1740 * coders/png.c (ReadMNGImage): Fixed a cut-and-paste typo 1741 (change_delay should be change_timeout) reported by Coverity 1742 CID 10090. 1743 1744 2015-01-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1745 1746 * magick/image.c (CloneImage): The definition is poor as to what a 1747 non-orphan clone should do. However, the definition surely does 1748 not include crashing the software or supplanting the original 1749 image in an image list. Clone image blob and previous/next 1750 pointers but do not supplant original image in list. Resolves 1751 Coverity CID 10155. 1752 1753 2015-01-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1754 1755 * coders/dpx.c (WriteRowSamples): Ensure that callback function is 1756 always defined. Resolves Coverity CID 10122. 1757 (ReadRowSamples): Ensure that callback function is always 1758 defined. Resolves Coverity CID 10125. 1759 1760 * magick/random.c (InitializeMagickRandomKernel): Avoid possible 1761 double-close of file. Resolves Coverity CID 10257. 1762 1763 * coders/histogram.c (WriteHISTOGRAMImage): Avoid possible divide 1764 by zero exception. Resolves Coverity CID 10107. 1765 1766 * magick/error.c (MagickFatalError): Document that 1767 MagickFatalError() is not supposed to return (program must quit) 1768 and add GCC/Clang hints to that effect. 1769 1770 * magick/bit_stream.c (BitAndMasks): Avoid possible access 1771 one-beyond end of BitAndMasks array. It is not clear if there is 1772 a possible bug with 32-bit quantums. If there is a bug, it has 1773 not been noticed via testing. Resolves Coverity CID 10213. 1774 1775 * magick/tempfile.c (AcquireTemporaryFileDescriptor): Avoid buffer 1776 overrun in the case of an astonishingly long environment variable 1777 string. Resolves Coverity CID 10267. 1778 (AddTemporaryFileToList): Use strlcpy() rather than strlcpy(). In 1779 practice, should not make a difference. Will quiet Coverity CID 1780 10321. 1781 1782 * magick/command.c (GMCommandSingle): Don't use the address of a 1783 stack allocation to update argv[0]. Removed updating argv[0] until 1784 a better design can be found. Resolves Coverity CID 10223. 1785 (GMCommandSingle): Plan B: Use static allocation from 1786 SetClientName() to both store the new command name and provide 1787 storage for argv[0]. 1788 1789 * magick/utility.c (SystemCommand): Fix possible overwrite of 1790 memory location due to uninitialized 'end' pointer. Resolves 1791 Coverity CID 10251. 1792 1793 * magick/blob.c (WriteBlobFile): Was not closing file in certain 1794 error conditions. Resolves Coverity CID 10237. 1795 1796 * coders/cineon.c (ReadCINEONImage): Don't trust file header so 1797 much. Resolves Coverity CIDs 10079, 10310, 10325. 1798 1799 * coders/art.c (ReadARTImage): Fix signed vs unsigned comparison 1800 caused by earlier changes. 1801 1802 2014-01-17 Fojtik Jaroslav <JaFojtik@seznam.cz> 1803 1804 * coders/wpg.c Do not execute wpg raster read in ping mode. 1805 1806 2014-01-15 Fojtik Jaroslav <JaFojtik@seznam.cz> 1807 1808 * coders/mat.c Properly deallocating zip structures. 1809 1810 2015-01-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1811 1812 * coders/sfw.c (ReadSFWImage): Fix pixel cache access errors in 1813 'ping' mode. 1814 1815 2015-01-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1816 1817 * coders/wmf.c (ReadWMFImage): Fix memory leak in 'ping' mode and 1818 some error paths. 1819 1820 2015-01-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1821 1822 * coders/jbig.c (ReadJBIGImage): Fix memory leak in 'ping' mode. 1823 1824 * magick/delegate.c (InvokeDelegate): Fix memory leak of argument 1825 list when invoking external program via MagickSpawnVP(). 1826 1827 2015-01-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1828 1829 * magick/resource.c (InitializeMagickResources): Base image width 1830 and height default limits on the range of a 32-bit signed integer, 1831 even for 64-bit builds. These limits are still beyond what most 1832 computers in the world can handle. Limits can be increased by the 1833 user. 1834 1835 * coders/xwd.c (ReadXWDImage): Check image size limits 1836 immediately. 1837 1838 * coders/xc.c (ReadXCImage): Check image size limits immediately. 1839 1840 * coders/webp.c (ReadWEBPImage): Check image size limits 1841 immediately. 1842 1843 * coders/viff.c (ReadVIFFImage): Check image size limits 1844 immediately. 1845 1846 * coders/vicar.c (ReadVICARImage): Check image size limits 1847 immediately. 1848 1849 * coders/txt.c (ReadTXTImage): Check image size limits 1850 immediately. 1851 1852 * coders/ttf.c (ReadTTFImage): Check image size limits 1853 immediately. 1854 1855 * coders/tim.c (ReadTIMImage): Check image size limits 1856 immediately. 1857 1858 * coders/tiff.c (ReadTIFFImage): Check image size limits 1859 immediately. 1860 1861 * coders/tga.c (ReadTGAImage): Check image size limits 1862 immediately. 1863 1864 * coders/sgi.c (ReadSGIImage): Check image size limits 1865 immediately. 1866 1867 * coders/sct.c (ReadSCTImage): Check image size limits 1868 immediately. 1869 1870 * coders/rle.c (ReadRLEImage): Check image size limits 1871 immediately. 1872 1873 * coders/rla.c (ReadRLAImage): Check image size limits 1874 immediately. 1875 1876 * coders/psd.c (ReadPSDImage): Check image size limits 1877 immediately. 1878 1879 * coders/pnm.c (ReadPNMImage): Check image size limits 1880 immediately. 1881 1882 * coders/pix.c (ReadPIXImage): Check image size limits 1883 immediately. 1884 1885 * coders/pict.c (ReadPICTImage): Check image size limits 1886 immediately. 1887 1888 * coders/pdb.c (ReadPDBImage): Check image size limits 1889 immediately. 1890 1891 * coders/pcx.c (ReadPCXImage): Check image size limits 1892 immediately. 1893 1894 * coders/pcd.c (ReadPCDImage): Check image size limits 1895 immediately. 1896 1897 * coders/otb.c (ReadOTBImage): Check image size limits 1898 immediately. 1899 1900 * coders/null.c (ReadNULLImage): Check image size limits 1901 immediately. 1902 1903 * coders/mvg.c (ReadMVGImage): Check image size limits 1904 immediately. 1905 1906 * coders/mtv.c (ReadMTVImage): Check image size limits 1907 immediately. 1908 1909 * coders/mpc.c (ReadMPCImage): Check image size limits 1910 immediately. 1911 1912 * coders/miff.c (ReadMIFFImage): Check image size limits 1913 immediately. 1914 1915 * coders/jpeg.c (ReadJPEGImage): Check image size limits 1916 immediately. 1917 1918 * coders/jp2.c (ReadJP2Image): Check image size limits 1919 immediately. 1920 1921 * coders/jbig.c (ReadJBIGImage): Check image size limits 1922 immediately. 1923 1924 * coders/hdf.c (ReadHDFImage): Check image size limits 1925 immediately. 1926 1927 * coders/gif.c (ReadGIFImage): Check image size limits 1928 immediately. 1929 1930 * coders/fpx.c (ReadFPXImage): Check image size limits 1931 immediately. 1932 1933 * coders/fax.c (ReadFAXImage): Check image size limits 1934 immediately. 1935 1936 * coders/dpx.c (ReadDPXImage): Check image size limits 1937 immediately. 1938 1939 * coders/dps.c (ReadDPSImage): Check image size limits 1940 immediately. 1941 1942 * coders/dib.c (ReadDIBImage): Check image size limits 1943 immediately. 1944 1945 * coders/dcm.c (ReadDCMImage): Check image size limits 1946 immediately. 1947 1948 * coders/cut.c (ReadCUTImage): Check image size limits 1949 immediately. 1950 1951 * coders/cineon.c (ReadCINEONImage): Check image size limits 1952 immediately. 1953 1954 * coders/avs.c (ReadAVSImage): Check image size limits 1955 immediately. 1956 1957 * coders/art.c (ReadARTImage): Check image size limits 1958 immediately. 1959 1960 * coders/sun.c (ReadSUNImage): Check image size limits in advance 1961 of allocating memory for pixels. 1962 1963 * coders/bmp.c (ReadBMPImage): Check image size limits in advance 1964 of allocating memory for pixels. 1965 1966 * coders/sun.c (ReadSUNImage): There is no definition for Sun map 1967 type RMT_RAW so it can not be supported. Update DirectClass 1968 pixels directly rather using SyncImage(). Problem was reported by 1969 Jodie Cunningham. 1970 1971 2015-01-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1972 1973 * coders/pict.c (ReadPICTImage): Fix PICT reader crash when 1974 reading corrupted file. 1975 1976 * coders/sun.c (ReadSUNImage): Sun reader was still not as robust 1977 as it should be. Now it is. 1978 1979 2014-01-10 Fojtik Jaroslav <JaFojtik@seznam.cz> 1980 1981 * coders/wpg.c Fixed reading behind EOF issue. 1982 1983 2015-01-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1984 1985 * coders/dpx.c (LSBPackedU32WordToOctets): Fix typo which adds 1986 severe corruption to encoded little-endian 32-bit packed output. 1987 The good news is that since the corruption is severe, it is easily 1988 visually detected. The problem has corrupted all such 1989 (little-endian 10-bit) output since it was originally implemented 1990 on 2007-06-17 (changeset 11686, first released in GraphicsMagick 1991 1.1.8). GraphicsMagick preserves the endianness of input DPX 1992 files by default, defaults to big-endian, and DPX files are 1993 commonly big-endian, so this problem may not have occured for many 1994 usages. Problem was reported by Steve Dabner on the 1995 GraphicsMagick discussion mailing list. 1996 1997 2015-01-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1998 1999 * magick/magick.c (MagickPanicSignalHandler): Print a message in 2000 the case of signals SIGXCPU and SIGXFSZ. 2001 2002 * coders/bmp.c (ReadBMPImage): Don't hang in endless loop if EOF 2003 is encountered while checking for "BA" header. 2004 2005 * coders/icon.c (ReadIconImage): Limit icon image allocation size. 2006 2007 2015-01-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2008 2009 * coders/icon.c (ReadIconImage): Removed all of the 2010 previously-existing DIB reading code from icon.c and use new 2011 "ICODIB" reader to read DIB icons, or the PNG reader to read PNG 2012 icons. 2013 2014 * coders/dib.c (ReadDIBImage): Added an "ICODIB" coder for 2015 internal use which reads a Windows BMP 3 DIB followed by a Windows 2016 ICO alpha mask. This allows existing DIB code to be used to read 2017 ICO directory entries. 2018 2019 2015-01-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2020 2021 * coders/icon.c: The Windows ICO reader is now more robust. Still 2022 a work in progress since some files still can not be read or read 2023 incorrectly. 2024 2025 2015-01-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2026 2027 * magick/resource.c (ListMagickResourceInfo): "kilo" for binary 2028 prefixes is supposed to be "Ki". 2029 2030 * magick/utility.c (FormatSize): "kilo" for binary prefixes is 2031 supposed to be "Ki". 2032 2033 2015-01-01 Glenn Randers-Pehrson <glennrp@simple.dallas.tx.us> 2034 2035 * coders/png.c: Use WidthResource and HeightResource instead 2036 of fixed 1-million limit for rows and columns. 2037 2038 2015-01-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2039 2040 * magick/utility.c (FormatSize): Add 'i' to value range 2041 identifiers since these are all in units of 2^10 rather than 1000. 2042 2043 * magick/pixel_cache.c (CheckImagePixelLimits): Fix typo and 2044 produce an informative error message. 2045 2046 * magick/resource.c: Added support for Image width and height 2047 pixels resource limits. 2048 2049 * magick/resource.h (ResourceType): New resource enumerations 2050 WidthResource and HeightResource. 2051 2052 * magick/enum_strings.c (StringToResourceType): Added support for 2053 parsing '-limit Width' and '-limit Height'. 2054 2055 * magick/pixel_cache.c (CheckImagePixelLimits): New function to 2056 test image to see if it exceeds pixels limits. 2057 2058 * coders/viff.c (ReadVIFFImage): Make the VIFF reader robust with 2059 detecting and reporting problems. 2060 2061 2014-12-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2062 2063 * Rotate Changelog for new year. Update documentation copyrights 2064 for new year. 2065 2066