| 1 | = GDAL/OGR 3.0.2 Release Notes = |
| 2 | |
| 3 | The 3.0.2 release is a bug fix release. |
| 4 | |
| 5 | == Misc == |
| 6 | |
| 7 | * Replace a few catch of bad_alloc by exception to handle the case of 32 bit trying to allocate more than 4GB of memory and thus throwing a length_error exception. Found by OSS Fuzz |
| 8 | * Fix issues with thread_local and C++ objects that don't work well with DLL on Windows |
| 9 | * Fix build against Poppler 0.82 |
| 10 | |
| 11 | == Port == |
| 12 | |
| 13 | * /vsicrypt/: fix memleak in error code path |
| 14 | * /vsitar/: accept space as end of field terminator |
| 15 | |
| 16 | == GDAL core == |
| 17 | |
| 18 | * fix non-neareset resampling over nodata blocks (#1941) |
| 19 | |
| 20 | == GDAL utilities == |
| 21 | |
| 22 | * gdalwarp: adjust nodata values, passed with -srcnodata/-dstnodata, and close to FLT_MAX to exactly it (#1724) |
| 23 | * Python scripts: GetOutputDriverFor(): fixes error when multiple drivers found ( #1719) |
| 24 | |
| 25 | == GDAL drivers == |
| 26 | |
| 27 | BAG driver: |
| 28 | * calculate the northeast pixel corner rather than scaling the resolution, due to an incorrectly shifted northeast corner in some CARIS surveys (#1728) |
| 29 | |
| 30 | CTable2Dataset driver: |
| 31 | * SetGeoTransform(): fix read buffer overflow from stack |
| 32 | |
| 33 | DAAS driver: |
| 34 | * accept 4-band RGBA PNG response even when a single band is requested |
| 35 | |
| 36 | ENVI driver: |
| 37 | * preserve 'byte order' on update (#1796) |
| 38 | |
| 39 | FITS driver: |
| 40 | * fix memory leaks |
| 41 | |
| 42 | GTiff driver: |
| 43 | * fix memory leak with -co APPEND_SUBDATASET=YES |
| 44 | * ensure GDAL PROJ context is used for all libgeotiff functions (requires internal libgeotiff / libgeotiff 1.6) |
| 45 | * make sure that GetMetadataDomainList() doesn't return EXIF when there's no EXIF metadata (https://github.com/mapbox/rasterio/pull/1740#issuecomment-526660946) |
| 46 | * GTIFGetOGISDefn: avoid querying UOM length info when it is KvUserDefined to avoid an error to be emitted |
| 47 | * Internal libtiff: backport security related fixes |
| 48 | |
| 49 | HDF5 and netCDF drivers: |
| 50 | * fix crash when reading attributes of type string of variable length with NULL values |
| 51 | |
| 52 | IGNFHeightASCIIGrid driver: |
| 53 | * fix to read RASPM2018.mnt grid |
| 54 | |
| 55 | JP2KAK driver: |
| 56 | * fix issue with multi-threaded reads |
| 57 | |
| 58 | JP2OpenJPEG driver: |
| 59 | * fix error logic in multi-threaded code causing memory corruption |
| 60 | * fix reading overviews, when tiled API is used, and the dimensions of the full resolution image are not a multiple of 2^numresolutions (#1860) |
| 61 | * fix to return the proper number of bytes read when we read more than 2 GB at once (https://github.com/uclouvain/openjpeg/issues/1151) |
| 62 | |
| 63 | JPEG driver: |
| 64 | * fix further calls to RasterIO after reading full image at full resolution (#1947) |
| 65 | |
| 66 | MRF driver: |
| 67 | * do not hardcode GDAL internal zlib header |
| 68 | |
| 69 | netCDF driver: |
| 70 | * Allow "radian" value for the X/Y axis units |
| 71 | |
| 72 | PDF driver: |
| 73 | * PDF composer from XML: fix wrong use of SetupVectorGeoreferencing() |
| 74 | * fix nullptr dereferences on corrupted files (OSS Fuzz #16438, #16558, #16759) |
| 75 | * fix potential heap buffer overflow (OSS Fuzz #16546) |
| 76 | * avoid potential integer division by zero (OSS Fuzz #17129) |
| 77 | |
| 78 | PDS4 driver: |
| 79 | * support reading a_axis_radius and c_axis_radius (#1851) |
| 80 | |
| 81 | SAFE driver: |
| 82 | * avoid potential use-after-free (Coverity 1404037 and 1404140) |
| 83 | |
| 84 | Terragen driver: |
| 85 | * avoid potential use-after-free on error code path in write_header() (Coverity 1404060) |
| 86 | |
| 87 | USGSDEM driver: |
| 88 | * avoid int overflow. Fixes OSS Fuzz #15715 |
| 89 | * fix reading FEMA generated Lidar datasets whose header is 918 bytes large |
| 90 | |
| 91 | VRT driver: |
| 92 | * avoid erroneous pixel request do be done with KernelFilteredSource |
| 93 | |
| 94 | == OGR core == |
| 95 | |
| 96 | * OGRExpatRealloc(): fix double-free when size to allocate is above the default 10MB threshold. OSS Fuzz #16178 / CVE-2019-17545 |
| 97 | * OGR SQLite: do not propagate 'IS / IS NOT value' constructs to OGR SQL |
| 98 | * OGRSimpleCurve::setNumPoints(): avoid potential int overflow on 32 bit on big values of nNewPointCount. OSS Fuzz #18092 |
| 99 | * OGRSimpleCurve::getPoints() with XYZM: fix wrong stride used for M array |
| 100 | * OGRSimpleCurve: fix reversePoints() and addSubLineString() to take into account M dimension |
| 101 | |
| 102 | == OGR drivers == |
| 103 | |
| 104 | CAD driver: |
| 105 | * libopencad: CADBuffer: replace m_guard by m_nSize to avoid pointer wrap around on 32 bit platforms on corrupted files. OSS Fuzz #16388 |
| 106 | |
| 107 | DGN driver: |
| 108 | * avoid size_t overflow / illegal memory access. OSS Fuzz #16393 |
| 109 | |
| 110 | GeoJSON driver: |
| 111 | * fix update of file on Windows (https://github.com/qgis/QGIS/issues/28580) |
| 112 | * add a OGR_GEOJSON_MAX_OBJ_SIZE configuration option to be able to parse jumbo GeoJSON Features. |
| 113 | |
| 114 | GPX driver: |
| 115 | * fix memory leak when streaming to /vsistdout/ |
| 116 | |
| 117 | LIBKML driver: |
| 118 | * make it accept /vsigzip/foo.kml.gz files (#1743) |
| 119 | * fix potential memory leak. (Coverity 1404148) |
| 120 | |
| 121 | MITAB driver: |
| 122 | * Update WindowsLatin2 definition (#1571) |
| 123 | * fix potential double-free (Coverity 1404224) |
| 124 | * avoid potential nullptr deref (Coverity 1404174) |
| 125 | |
| 126 | PDF driver: |
| 127 | * fix reading polygon with holes and Bezier curves (#1932) |
| 128 | * fix reading strings with escape sequences |
| 129 | |
| 130 | PostgreSQL driver: |
| 131 | * add support for PostgreSQL 12 (#1692) |
| 132 | * be more restrictive when deducing non-nullability of columns in SQL result layers (#1734) |
| 133 | |
| 134 | Selafin driver: |
| 135 | * temptative fix for stack read overflow of OSS Fuzz #18342 |
| 136 | |
| 137 | S57 driver: |
| 138 | * s57objectclasses.csv: add missing TXTDSC attribute for DRYDOC class (#1723) |
| 139 | |
| 140 | XLSX driver: |
| 141 | * add support for .xlsm extension |
| 142 | |
| 143 | WFS3/OAPIF driver: |
| 144 | * correctly handle user query string parameters in connection URL (#1710) |
| 145 | * align with the final state of the OGC API - Features : Core 1.0 spec (#1878) |
| 146 | |
| 147 | == Python bindings == |
| 148 | |
| 149 | * add compatibility with SWIG 4.0 (#1702) |
| 150 | * Fix swig python wheel on darwin |