Changes between Initial Version and Version 1 of Release/2.2.1-News

Jun 23, 2017, 5:30:13 AM (3 years ago)
Even Rouault

2.2.1 news


  • Release/2.2.1-News

    v1 v1  
     1= GDAL/OGR 2.2.1 Release Notes =
     3The 2.2.1 release is a bug fix release.
     5== Build ==
     6 * fix compilation without BIGTIFF_SUPPORT (#6890)
     7 * configure: detect if std::isnan() is available. Helps compilation on some MacOSX setups, combined together --without-cpp11. Refs
     8 * fix compilation against ancient Linux kernel headers (#6909)
     9 * fix detection of 64bit file API with clang 5 (#6912)
     10 * configure: use .exe extension when building with mingw64* toolchains (fixes #6919)
     11 * mongoDB: compilation fix on Windows
     13== Port ==
     15* /vsicurl/: fix occasional inappropriate failures in Read() with some combinations of initial offset, file size and read request size (#6901)
     16* Add a VSICurlClearCache() function (bound to SWIG as gdal.VSICurlClearCache()) to be able to clear /vsicurl/ related caches (#6937)
     18== Algorithms ==
     20* GDALRasterize(): avoid hang in some cases with all_touched option (#5580)
     21* gdal_rasterize: fix segfault when rasterizing onto a raster with RPC (#6922)
     23== GDAL utilities ==
     25* fix '-single -o out.shp in.shp' case (#6888)
     27== GDAL drivers ==
     29AIGRID driver:
     30  * fix handling on raw 32-bit AIG blocks
     32ENVISAT driver:
     33* fix 2.2 regression in initialization of members of MerisL2FlagBand. (#6929)
     35GeoRaster driver:
     36 * Fix memory allocation failure (#6884)
     37 * add support for JP2-F in BLOB compression (corrections on geo-reference) (#6861)
     39GPKG driver:
     40 * avoid corruption of gpkg_tile_matrix when building overviews, down to a level where they are smaller than the tile size (#6932)
     42GTIFF driver:
     43* Internal libtiff: fix libtiff 4.0.8 regression regarding creating of single strip uncompressed TIFF files (#6924)
     45netCDF driver:
     46 * add support for radian and microradian units for geostationnary projection (
     48NWT_GRC driver:
     49 * Fix handling of alpha values in GRC color table (#6905)
     50 * Handle case of 0-len GRC class names (#6907)
     52VRT driver:
     53 * speed-up SerializeToXML() in case of big number of bands
     55XYZ driver:
     56 * fix 2.2 regression where the driver hangs on some dataset with missing samples (#6934)
     58== OGR utilities ==
     60* ogr2ogr/GDALVectorTranslate(): fix crash when using -f PDF -a_srs (#6920)
     62== OGR drivers ==
     64GeoJSON driver:
     65 * ESRIJson: avoid endless looping on servers that don't support resultOffset (#6895)
     66 * ESRIJson: use 'latestWkid' in priority over 'wkid' when reading 'spatialReference' (
     67 * GeoJSON writer: accept writing ZM or M geometry by dropping the M component (#6935)
     69GPKG driver:
     70 * make driver robust to difference of cases between table_name in gpkg_contents/gpkg_geometry_columns and name in sqlite_master (#6916)
     72MITAB driver:
     73 * recognize Reseau_National_Belge_1972 / EPSG:31370 on writing (#6903)
     75MySQL driver:
     76 * fix compilation issue with Arch Linux and mariadb 10.1.23 (fixes #6899)
     78PG driver:
     79 * do not be confused by a 'geometry' table in a non-PostGIS enabled detabase (#6896)
     82 * remove support for V0. Deprecate V1 API. Only Data V1 is supported ( #6933)
     84== Perl bindings ==
     86* Backport the fix to #6142 Install man page according to GDALmake.opt if INSTALL_BASE is set.
     87* always return something from non-void functions (#6898)
     89== Python bindings ==
     91* Accept callback = 0 since SWIG generates it as the default argument of BandRasterIONumPy(). Fixes
     92* Fix 2.2 regression preventing use of callback function in Band.ComputeStatistics() (#6927)
     94== Security oriented fixes ==
     96Note: this is only a very partial backport of more extensive fixes done in GDAL trunk. Credit to OSS-Fuzz for all of them (some have been found locally, so no related ticket)
     98* Fix CPLErrorSetState to ensure it does not write beyond DEFAULT_LAST_ERR_MSG_SIZE and correctly null-terminates last message. Fixes
     99* Open() and Stat() methods of a number of virtual file systems: check that the filename starts with the full prefix. Fixes
     100* VRT pixel functions: fix crash with 'complex' when source count is < 2. Fixes
     101* OpenAIR: fix potential out-of-buffer read if we need to ingest 30000 bytes
     102* Several fixes in importFromWkb() and importFromWkt()
     103* GDALDataset and GDALRasterBand::ReportError(): fix crash if dataset name has a % character
     104* NASAKeywordHandler::SkipWhite(): fix out of bounds read
     105* MITAB: ParseTABFileFields(): fix out of bounds read.
     106* MITAB: ParseMIFHeader(): fix memory leak and out-of-bounds read on corrupted file
     107* MITAB: ParseMIFHeader(): fix memory leaks on corrupted files
     108* MITAB: avoid potentially veryyyy long loop when stroking arcs. Fixes
     109* MITAB: avoid heap-buffer-overflow in MITABCoordSys2TABProjInfo(). Fixes
     110* OSARDataset::Open(): fix crash if pOpenInfo->fpL == NULL. Fixes
     111* OGRESRIJSONReadPolygon(): fix crash in error code path
     112* DXF: prevent null ptr deref and out-of-bounds read on corrupted file
     113* DXF: TranslateSPLINE(): sanitize integer values read to avoid int overflow. Fixes
     114* KML::unregisterLayerIfMatchingThisNode(): use memmove() instead of memcpy(). Fixes
     115* KML: fix crash on weird structure with recursively empty folders. Fixes
     116* KML: fix null ptr dereference on corrupted file. Fixes
     117* OGRCurveCollection::importBodyFromWkb(): fix potential crash if the curve in the collection has not the same dimension has the collection dimension. Fixes
     118* OGRCompoundCurve::importFromWkb(): avoid potential stack overflow. Fixes
     119* TIGER: fix potential stack buffer overflows. Fixes and 2020
     120* TIGER: avoid potential infinite looping. Fixes
     121* VFK: avoid out-of-bounds read. Fixes and 2074
     122* CPLHexToBinary(): avoid reading outside of hex2char array on on-ASCII input. Fixes
     123* OGR PDS: avoid int32 overflow. Fixes
     124* GeoRSS: fix null pointer dereference on corrupted files. Fixes
     125* VSIArchiveFilesystemHandler::SplitFilename(): improve performance. Fixes
     126* OGRGeometryFactory::organizePolygons(): fix crash on empty polygons. Fixes
     127* JML: fix null pointer dereference on invalid files. Fixes
     128* Shape: prevent null ptr deref on truncated MultiPointM geometry. Fixes
     129* /vsisubfile/: avoid Tell() to return negative values. And make VSIIngestFile() more robust to unsigned overflow. Fixes
     130* GTM: avoid useless recursive opening of files when provided with a gzip-compressed input. Fixes
     131* GTiff: fix heap-buffer-overflow. Fixes
     132* GTiff: avoid heap-buffer-overfow on corrupted State Plane citation. Fixes
     133* GTiff: avoid potential stack buffer overflow on corrupted Imagine citation. Fixes
     134* GTiff: prevent heap overflow and fix reading of multi-band band-interleaved 16/24-bit float datasets. Fixes
     135* GTiff: fix potential infinite loop when parsing some 24-bit float denormalized numbers. Fixes
     136* Internal libjson-c: fix stack buffer overflow. Fixes
     137* ILI1/ILI2: fix null pointer dereference when opening filename ','. Fixes
     138* ILI1: fix various crashes on corrupted files (including, but not limited to,, 1784, 1926)
     139* ILI2: use proper cast operator. Fixes
     140* ILI2: fix null pointer dereference on corrupted files. Fixes
     141* ILI2: fix crash due to unhandled exception. Fixes
     142* morphFromESRI(): fix heap-use-after-free issue. Fixes
     143* morphFromESRI(): prevent potential null pointer dereference. Fixes and 1867
     144* SEGUKOOA: fix inversion of leap year that caused index-out-of-bound reading on day 366 of leap years (2.2 regression). Fixes
     145* CPLParseXMLString(): make it error out on invalid XML file even under CPLTurnErrorIntoWarning() mode. Fixes
     146* GML / NAS: fix memory leak in error code path, and potential heap-buffer-read-overflow
     147* NTF: fix various issues: heap & stack buffer-overflow, null ptr derefs, memory leaks. Fixes , 1820 , 1823, 1833, 1854, 1862, 1910, 1931, 1961, 1990, 1995, 1996, 2003, 2033, 2052, 2077, 2084, 2103, 2130, 2135, 2146, 2166, 2185, 2187,
     148* OGRCreateFromMultiPatch(): avoid assertion on NaN coordinates. Fixes
     149* GXF: validate nGType to avoid later out-of-bound read in GXFReadRawScanlineFrom(). Fixes
     150* GXF: fix int overflow and avoid excessive memory allocation. Fixes
     151* DGN: prevent heap-buffer-overflow read. Fixes
     152* COSAR: fix leak of file descriptor. Fixes
     153* ISO8211: prevent stack buffer oveflow. Fixes
     154* WEBP: prevent int32 overflow and too large memory allocation. Fixes
     155* IRIS: fix heap-buffer-overflow in some cases of nDataTypeCode. Fixes
     156* E00GRID: avoid heap and stack buffer overflows. Fixes , 2182, 2237, 2327
     157* VICAR: fix null pointer dereference. Fixes
     158* VICAR: avoid use-after-free and heap-buffer-overflow. Fixes
     159* VICAR: fix potential endless loop on broken files. Fixes
     160* REC: fix nullptr deref
     161* REC: fix potential stack buffer overflow. Fixes
     162* GDALGetJPEG2000Structure() / DumpGeoTIFFBox(): fix memory leak.
     163* DumpGeoTIFFBox(): reject GeoJP2 boxes with a TIFF with band_count > 1
     164* DumpJPK2CodeStream(): avoid potentially very long loop
     165* GDALGetJPEG2000Structure(): avoid bad performance on corrupted JP2 boxes. Fixes
     166* GPKG: fix potential heap-buffer overflow in GPkgHeaderFromWKB(). Fixes
     167* GPKG: fix potential null ptr deref. Fixes
     168* GPKG: avoid potential division by zero. Fixes
     169* SEGUKOOA: prevent read beyond end of buffer. (#6921)
     170* SRP: avoid potential stack buffer overflow and excessive memory allocation/processing time
     171* CPLUnixTimeToYMDHMS(): avoid potential infinite loop. Fixes
     172* Selafin: fix double frees. Fixes
     173* CEOS: fix heap buffer overflow. Fixes
     174* CEOS: fix memleak in error code path. Fixes
     175* FAST: avoid null pointer dereference. Fixes
     176* netCDF: avoid stack buffer overflow. Fixes