GDAL/OGR 2.3.1 Release Notes

The 2.3.1 release is a bug fix release.



  • Fix build with recent Poppler (0.64) (#573)
  • PDF driver: fix build against PDFium (#612)
  • Do not use json-c private API in RDA and AmigoCloud drivers (#618)
  • fix build against MySQL 8.0
  • Include gdalsse_priv.h from user defined paths


  • update GRASS drivers to support GRASS 7.4.0 (#633)
  • configure: use CXXFLAGS when CXX is used (#693)


  • MBTILES: remove extra parenthesis around $(ZLIB_FLAGS)
  • NMAKE: copy gdal pdb to $(LIBDIR) in libinstall target
  • NMAKE: Enable friendlier static library builds: DLL_BUILD can be set to 0


  • cpl_port.h: avoid compilation error when compiling GMT's gmtdigitize.c that defines _XOPEN_SOURCE to empty (#590)
  • gdal_pc: fix CONFIG_INST_DATA (#609)
  • /vsioss/: fix support of filenames with spaces
  • /vsis3/: fix VSIStatL() on a directory (#603)
  • /vsitar/: support headers with fields using star base-256 coding (#675)
  • /vsizip/: fix memory leaks in error code paths on file opening (#699)
  • /vsigs/, /vsiaz/, /vsioss/: fix signature issues related to Date HTTP header, when non-C locale is enabled
  • Installed headers: re-install cpl_vsi_error.h

GDAL core

  • GDALProxyPoolDataset constructor: fix inverted logic related to projection
  • GDALGetJPEG2000Structure(): avoid excessive memory allocation. (oss-fuzz#8268)
  • Overview: fix wrong computation of source pixel indices for AVERAGE and pixel-interleave bands

GDAL utilities

  • gdal_contour: avoid out-of-memory situation (#594)
  • apply NaN check for raster copy
  • fix rounding issues when computing source and target regions (#670)

GDAL algorithms

  • OpenCL wrapper: fix memory leak

GDAL drivers

EHdr driver:

  • fix creation of large enough drivers (#705)

ENVI driver:

  • fix creation of large enough drivers (#705)

ERS driver:

  • avoid potential stack overflow (oss-fuzz#8614)
  • avoid infinite recursion (oss-fuzz#8744)
  • avoid potential bad cast (oss-fuzz#8745)

FIT driver:

  • avoid excessive block size on creation (oss-fuzz#8292)

GPKG driver:

  • fix memory leak if errors on writing metadata

GRIB driver:

  • g2clib: avoid potential out of bound access (CID 1393528)

GTiff driver:

  • Internal libgeotiff: when rewriting a ASCII key with a string value longer than the original value, do not add a dummy "0 0 0 0" entry in the GeoKeyDirectory (#641)
  • work-around above mentionned libgeotiff bug (#641)
  • avoid various memory corruptions when reading some corrupted file (oss-fuzz#8488)

HDF5 driver:

  • fix reading variable names with single character (#622)

IRIS driver:

  • avoid infinite loop (oss-fuzz#8256, oss-fuzz#8439)

ISCE driver:

  • fix creation of large enough drivers (#705)

PCRaster driver:

  • libcsf: avoid potential out of bound access (CID 1074445)

PostgisRaster driver:

  • add support for out-db rasters (Trac #3234)
  • improve performance of line by line reading

RS2 driver:

  • fix avoid potential memleak (CID 1393537, CID 1393534, CID 1074387)

SGI driver:

  • avoid out-of-bound buffer access (oss-fuzz#8889)

USGSDEM driver:

  • fix reading of Benicia.dem and Novato.dem (fixes trac #4901, github #583)
  • avoid potential out-of-bounds access (CID 1393532)

WCS driver:

  • avoid null pointer dereference (#648)

OGR core


  • Validation: fix wrong values in papszProjectionDefinitions array, affecting Stereographic, Krovak, and Two_Point_Equidistant
  • Validation: add missing parameter names in papszParameterDefinitions array
  • MorphToESRI(): avoid potential heap use-after-free (#696)

OGR drivers

AVCE00 driver:

  • avoid perforance issues on huge lines (oss-fuzz#8284)

BNA driver:

CSV driver:

  • in writing, use WKT instead of actual geometry column name if GEOMETRY=AS_WKT mode is used without CREATE_CSVT=YES (#660)

DXF driver:

  • avoid null pointer dereference when DXF_MAX_BSPLINE_CONTROL_POINTS is hit (oss-fuzz#8254)

GeoJSON driver:


  • avoid performance issue when opening layer with big number of fields. (oss-fuzz#8259)

GPKG driver:

  • take into ROLLBACK TO SAVEPOINT to invalidate cached feature count
  • GPKG/SQLite: make sure to not invalidate POSIX advisory locks

MSSQLSpatial driver:

  • Fix layer-schema separation problem (#586)
  • Fix bulk copy for multiple layers (#619)

MVT driver:

  • writer: do not skip Z/M/ZM geometries, just keep their XY coordinates

VFK driver:

  • create index on ID column only for selected (geometry-related) layers (#498)
  • create db indices after inserting data and befor resolving geometrys (#498)
  • avoid bigint overflow, force text attributes (PODIL_CITATEL/PODIL_JMENOVATEL) (#672)

WFS3 driver:

  • update to current version of the API draft (#626)
  • remove legacy hack for feature paging that can cause endless loops

XLSX driver:

  • avoid stack buffer overflow is creating too many fields (oss-fuzz#8198)
  • avoid timeout (oss-fuzz#8225)
  • fix null pointer dereference (oss-fuzz#8286)

SWIG bindings

Java bindings:

  • Javadoc updates
  • update to Java 1.6 requirement to please 'ant maven' target

Perl bindings:

  • require wrappers to be made before proceeding make (fixes #643).

Python bindings:

  • fixed NULL check on VSIFReadL (#572)
Last modified 6 years ago Last modified on Jun 28, 2018, 8:30:49 AM
Note: See TracWiki for help on using the wiki.