Skip to content
Commits on Source (6)
......@@ -123,7 +123,7 @@ GDAL_INCLUDE = -I$(GDAL_ROOT)/port -I$(GDAL_ROOT)/gcore \
# libtool targets and help variables
LIBGDAL := libgdal.la
LIBGDAL_CURRENT := 26
LIBGDAL_REVISION := 1
LIBGDAL_REVISION := 2
LIBGDAL_AGE := 0
# native build targets and variables
......
= GDAL/OGR 3.0.2 Release Notes =
The 3.0.2 release is a bug fix release.
== Misc ==
* 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
* Fix issues with thread_local and C++ objects that don't work well with DLL on Windows
* Fix build against Poppler 0.82
== Port ==
* /vsicrypt/: fix memleak in error code path
* /vsitar/: accept space as end of field terminator
== GDAL core ==
* fix non-neareset resampling over nodata blocks (#1941)
== GDAL utilities ==
* gdalwarp: adjust nodata values, passed with -srcnodata/-dstnodata, and close to FLT_MAX to exactly it (#1724)
* Python scripts: GetOutputDriverFor(): fixes error when multiple drivers found ( #1719)
== GDAL drivers ==
BAG driver:
* calculate the northeast pixel corner rather than scaling the resolution, due to an incorrectly shifted northeast corner in some CARIS surveys (#1728)
CTable2Dataset driver:
* SetGeoTransform(): fix read buffer overflow from stack
DAAS driver:
* accept 4-band RGBA PNG response even when a single band is requested
ENVI driver:
* preserve 'byte order' on update (#1796)
FITS driver:
* fix memory leaks
GTiff driver:
* fix memory leak with -co APPEND_SUBDATASET=YES
* ensure GDAL PROJ context is used for all libgeotiff functions (requires internal libgeotiff / libgeotiff 1.6)
* make sure that GetMetadataDomainList() doesn't return EXIF when there's no EXIF metadata (https://github.com/mapbox/rasterio/pull/1740#issuecomment-526660946)
* GTIFGetOGISDefn: avoid querying UOM length info when it is KvUserDefined to avoid an error to be emitted
* Internal libtiff: backport security related fixes
HDF5 and netCDF drivers:
* fix crash when reading attributes of type string of variable length with NULL values
IGNFHeightASCIIGrid driver:
* fix to read RASPM2018.mnt grid
JP2KAK driver:
* fix issue with multi-threaded reads
JP2OpenJPEG driver:
* fix error logic in multi-threaded code causing memory corruption
* fix reading overviews, when tiled API is used, and the dimensions of the full resolution image are not a multiple of 2^numresolutions (#1860)
* 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)
JPEG driver:
* fix further calls to RasterIO after reading full image at full resolution (#1947)
MRF driver:
* do not hardcode GDAL internal zlib header
netCDF driver:
* Allow "radian" value for the X/Y axis units
PDF driver:
* PDF composer from XML: fix wrong use of SetupVectorGeoreferencing()
* fix nullptr dereferences on corrupted files (OSS Fuzz #16438, #16558, #16759)
* fix potential heap buffer overflow (OSS Fuzz #16546)
* avoid potential integer division by zero (OSS Fuzz #17129)
PDS4 driver:
* support reading a_axis_radius and c_axis_radius (#1851)
SAFE driver:
* avoid potential use-after-free (Coverity 1404037 and 1404140)
Terragen driver:
* avoid potential use-after-free on error code path in write_header() (Coverity 1404060)
USGSDEM driver:
* avoid int overflow. Fixes OSS Fuzz #15715
* fix reading FEMA generated Lidar datasets whose header is 918 bytes large
VRT driver:
* avoid erroneous pixel request do be done with KernelFilteredSource
== OGR core ==
* OGRExpatRealloc(): fix double-free when size to allocate is above the default 10MB threshold. OSS Fuzz #16178 / CVE-2019-17545
* OGR SQLite: do not propagate 'IS / IS NOT value' constructs to OGR SQL
* OGRSimpleCurve::setNumPoints(): avoid potential int overflow on 32 bit on big values of nNewPointCount. OSS Fuzz #18092
* OGRSimpleCurve::getPoints() with XYZM: fix wrong stride used for M array
* OGRSimpleCurve: fix reversePoints() and addSubLineString() to take into account M dimension
== OGR drivers ==
CAD driver:
* libopencad: CADBuffer: replace m_guard by m_nSize to avoid pointer wrap around on 32 bit platforms on corrupted files. OSS Fuzz #16388
DGN driver:
* avoid size_t overflow / illegal memory access. OSS Fuzz #16393
GeoJSON driver:
* fix update of file on Windows (https://github.com/qgis/QGIS/issues/28580)
* add a OGR_GEOJSON_MAX_OBJ_SIZE configuration option to be able to parse jumbo GeoJSON Features.
GPX driver:
* fix memory leak when streaming to /vsistdout/
LIBKML driver:
* make it accept /vsigzip/foo.kml.gz files (#1743)
* fix potential memory leak. (Coverity 1404148)
MITAB driver:
* Update WindowsLatin2 definition (#1571)
* fix potential double-free (Coverity 1404224)
* avoid potential nullptr deref (Coverity 1404174)
PDF driver:
* fix reading polygon with holes and Bezier curves (#1932)
* fix reading strings with escape sequences
PostgreSQL driver:
* add support for PostgreSQL 12 (#1692)
* be more restrictive when deducing non-nullability of columns in SQL result layers (#1734)
Selafin driver:
* temptative fix for stack read overflow of OSS Fuzz #18342
S57 driver:
* s57objectclasses.csv: add missing TXTDSC attribute for DRYDOC class (#1723)
XLSX driver:
* add support for .xlsm extension
WFS3/OAPIF driver:
* correctly handle user query string parameters in connection URL (#1710)
* align with the final state of the OGC API - Features : Core 1.0 spec (#1878)
== Python bindings ==
* add compatibility with SWIG 4.0 (#1702)
* Fix swig python wheel on darwin
= GDAL/OGR 3.0.1 Release Notes =
 
The 3.0.1 release is a bug fix release.
......
......@@ -53,7 +53,7 @@
#include "ogr_api.h"
#include "ogr_core.h"
CPL_CVSID("$Id: gdalwarpoperation.cpp cde29aa7b4807045c418e469b59b60f92af59468 2019-02-18 15:49:24 +0100 Even Rouault $")
CPL_CVSID("$Id: gdalwarpoperation.cpp fc772a7e94b9c97f62a72e3eab60fa20b97b9f92 2019-08-12 01:18:04 +0200 Even Rouault $")
struct _GDALWarpChunk {
int dx, dy, dsx, dsy;
......@@ -2430,7 +2430,7 @@ void GDALWarpOperation::ComputeSourceWindowStartingFromSource(
privateData->adfDstY.resize(nSampleMax);
adfDstZ.resize(nSampleMax);
}
catch( const std::bad_alloc& )
catch( const std::exception& )
{
return;
}
......
......@@ -60,7 +60,7 @@
#include "ogr_srs_api.h"
#include "vrtdataset.h"
CPL_CVSID("$Id: gdalwarp_lib.cpp c81cd7dc950a3a08ce3f6de3d59eaa9e1d33a021 2019-03-23 10:11:39 +0100 Even Rouault $")
CPL_CVSID("$Id: gdalwarp_lib.cpp 043b7d514edadd94c0b3712f8ba6d8f0dfb86809 2019-07-16 18:04:44 +0200 Even Rouault $")
/************************************************************************/
/* GDALWarpAppOptions */
......@@ -1571,10 +1571,15 @@ GDALDatasetH GDALWarp( const char *pszDest, GDALDatasetH hDstDS, int nSrcCount,
CPLStringToComplex( papszTokens[i],
psWO->padfSrcNoDataReal + i,
psWO->padfSrcNoDataImag + i );
psWO->padfSrcNoDataReal[i] =
GDALAdjustNoDataCloseToFloatMax(psWO->padfSrcNoDataReal[i]);
psWO->padfSrcNoDataImag[i] =
GDALAdjustNoDataCloseToFloatMax(psWO->padfSrcNoDataImag[i]);
}
else
{
psWO->padfSrcNoDataReal[i] = CPLAtof(papszTokens[i]);
psWO->padfSrcNoDataReal[i] = GDALAdjustNoDataCloseToFloatMax(
CPLAtof(papszTokens[i]));
}
}
else
......@@ -1682,6 +1687,10 @@ GDALDatasetH GDALWarp( const char *pszDest, GDALDatasetH hDstDS, int nSrcCount,
CPLStringToComplex( papszTokens[i],
psWO->padfDstNoDataReal + i,
psWO->padfDstNoDataImag + i );
psWO->padfDstNoDataReal[i] =
GDALAdjustNoDataCloseToFloatMax(psWO->padfDstNoDataReal[i]);
psWO->padfDstNoDataImag[i] =
GDALAdjustNoDataCloseToFloatMax(psWO->padfDstNoDataImag[i]);
bDstNoDataNone = false;
CPLDebug( "WARP", "dstnodata of band %d set to %f", i, psWO->padfDstNoDataReal[i] );
}
......@@ -1903,8 +1912,9 @@ GDALDatasetH GDALWarp( const char *pszDest, GDALDatasetH hDstDS, int nSrcCount,
bOKRegardingInitDest = true;
for( int i = 0; i < GDALGetRasterCount(hDstDS); i++ )
{
double dfInitVal = CPLAtofM(papszTokensInitDest[
std::min(i, nTokenCountInitDest-1)]);
double dfInitVal = GDALAdjustNoDataCloseToFloatMax(
CPLAtofM(papszTokensInitDest[
std::min(i, nTokenCountInitDest-1)]));
int bHasNoData = false;
double dfDstNoDataVal = GDALGetRasterNoDataValue(
GDALGetRasterBand(hDstDS, i+1), &bHasNoData);
......
#!/bin/sh
set -e
sudo mv /etc/apt/sources.list.d/pgdg* /tmp
#sudo apt-get remove postgis libpq5 libpq-dev postgresql-9.1-postgis postgresql-9.1-postgis-2.2-scripts postgresql-9.2-postgis postgresql-9.3-postgis postgresql-9.1 postgresql-9.2 postgresql-9.3 libgdal1
sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
#sudo add-apt-repository -y ppa:marlam/gta
sudo apt-get update -qq
# postgis postgresql-9.1 postgresql-client-9.1 postgresql-9.1-postgis-2.1 postgresql-9.1-postgis-2.1-scripts
# libproj-dev libfreexl-dev
sudo apt-get install python-numpy libpq-dev libpng12-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libxml2-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libspatialite-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils unixodbc-dev libwebp-dev openjdk-7-jdk libepsilon-dev liblcms2-2 libpcre3-dev mercurial cmake libcrypto++-dev
# libgta-dev
sudo apt-get install python-lxml
sudo apt-get install python-pip
#sudo apt-get install libogdi3.2-dev
# Boost for Mongo
#sudo apt-get install libboost-regex-dev libboost-system-dev libboost-thread-dev
#psql -c "drop database if exists autotest" -U postgres
#psql -c "create database autotest" -U postgres
#psql -c "create extension postgis" -d autotest -U postgres
mysql -e "create database autotest;"
mysql -e "GRANT ALL ON autotest.* TO 'root'@'localhost';" -u root
mysql -e "GRANT ALL ON autotest.* TO 'travis'@'localhost';" -u root
#wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/FileGDB_API_1_2-64.tar.gz
#wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44.tar.gz
wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/install-libecwj2-ubuntu12.04-64bit.tar.gz
#wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/install-libkml-r864-64bit.tar.gz
wget https://github.com/uclouvain/openjpeg/releases/download/v2.3.0/openjpeg-v2.3.0-linux-x86_64.tar.gz
#wget http://even.rouault.free.fr/mongo-cxx-1.0.2-install-ubuntu12.04-64bit.tar.gz
wget http://even.rouault.free.fr/install-gcc-5.2.0.tar.bz2
#tar xzf MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44.tar.gz
#sudo cp -r MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44/Raster_DSDK/include/* /usr/local/include
#sudo cp -r MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44/Raster_DSDK/lib/* /usr/local/lib
#sudo cp -r MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44/Lidar_DSDK/include/* /usr/local/include
#sudo cp -r MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44/Lidar_DSDK/lib/* /usr/local/lib
#tar xzf FileGDB_API_1_2-64.tar.gz
#sudo cp -r FileGDB_API/include/* /usr/local/include
#sudo cp -r FileGDB_API/lib/* /usr/local/lib
tar xzf install-libecwj2-ubuntu12.04-64bit.tar.gz
sudo cp -r install-libecwj2/include/* /usr/local/include
sudo cp -r install-libecwj2/lib/* /usr/local/lib
#tar xzf install-libkml-r864-64bit.tar.gz
#sudo cp -r install-libkml/include/* /usr/local/include
#sudo cp -r install-libkml/lib/* /usr/local/lib
tar xzf openjpeg-v2.3.0-linux-x86_64.tar.gz
sudo cp -r openjpeg-v2.3.0-linux-x86_64/include/* /usr/local/include
sudo cp -r openjpeg-v2.3.0-linux-x86_64/lib/* /usr/local/lib
#tar xzf mongo-cxx-1.0.2-install-ubuntu12.04-64bit.tar.gz
#sudo cp -r mongo-cxx-1.0.2-install/include/* /usr/local/include
#sudo cp -r mongo-cxx-1.0.2-install/lib/* /usr/local/lib
#wget https://bitbucket.org/chchrsc/kealib/get/c6d36f3db5e4.zip
#unzip c6d36f3db5e4.zip
#cd chchrsc-kealib-c6d36f3db5e4/trunk
#cmake . -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DHDF5_INCLUDE_DIR=/usr/include -DHDF5_LIB_PATH=/usr/lib -DLIBKEA_WITH_GDAL=OFF
#make -j4
#sudo make install
#cd ../..
tar xjf install-gcc-5.2.0.tar.bz2
export PATH=$PWD/install-gcc-5.2.0/bin:$PATH
export LD_LIBRARY_PATH=$PWD/install-gcc-5.2.0/lib64
export PRELOAD=$PWD/install-gcc-5.2.0/lib64/libasan.so.2.0.0:$PWD/install-gcc-5.2.0/lib64/libubsan.so.0.0.0
#export PRELOAD=$PWD/install-gcc-5.2.0/lib64/libubsan.so.0.0.0
export ASAN_OPTIONS=allocator_may_return_null=1
sudo ldconfig
#!/bin/sh
set -e
sudo mv /etc/apt/sources.list.d/pgdg* /tmp
sudo apt-get update
sudo apt-get install -y software-properties-common python-software-properties
sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
sudo apt-get update
# Disable postgresql since it draws ssl-cert that doesn't install cleanly
# postgis postgresql-9.1 postgresql-client-9.1 postgresql-9.1-postgis-2.1 postgresql-9.1-postgis-2.1-scripts libpq-dev
sudo apt-get install -y --allow-unauthenticated python-numpy libpng12-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libproj-dev libxml2-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libpoppler-private-dev libsqlite3-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils libfreexl-dev unixodbc-dev libwebp-dev libepsilon-dev liblcms2-2 libpcre3-dev libcrypto++-dev libdap-dev libfyba-dev libmysqlclient-dev libogdi3.2-dev libcfitsio-dev openjdk-8-jdk couchdb libzstd1-dev ccache curl autoconf automake sqlite3 libspatialite-dev
sudo apt-get install -y doxygen texlive-latex-base
sudo apt-get install -y make
sudo apt-get install -y python-dev
sudo apt-get install -y g++
sudo apt-get install -y --allow-unauthenticated libsfcgal-dev
sudo apt-get install -y --allow-unauthenticated fossil libgeotiff-dev libcharls-dev libopenjp2-7-dev libcairo2-dev
wget https://github.com/Esri/file-geodatabase-api/raw/master/FileGDB_API_1.5/FileGDB_API_1_5_64gcc51.tar.gz
tar xzf FileGDB_API_1_5_64gcc51.tar.gz
sudo cp FileGDB_API-64gcc51/lib/* /usr/lib
sudo ldconfig
......@@ -15,10 +15,6 @@ case $SCRIPT_DIR in
esac
$SCRIPT_DIR/../common_install.sh
export PATH=$PWD/install-gcc-5.2.0/bin:$PATH
export LD_LIBRARY_PATH=$PWD/install-gcc-5.2.0/lib64
export PRELOAD=$PWD/install-gcc-5.2.0/lib64/libasan.so.2.0.0:$PWD/install-gcc-5.2.0/lib64/libubsan.so.0.0.0
#export PRELOAD=$PWD/install-gcc-5.2.0/lib64/libubsan.so.0.0.0
export ASAN_OPTIONS=allocator_may_return_null=1
export CCACHE_CPP2=yes
......@@ -30,14 +26,11 @@ ccache -s
# Build proj
(cd proj; ./autogen.sh && CFLAGS='-DPROJ_RENAME_SYMBOLS' CXXFLAGS='-DPROJ_RENAME_SYMBOLS' ./configure --disable-static --prefix=/usr/local && make -j3)
(cd proj; sudo make -j3 install && sudo ldconfig)
(cd proj; sudo make -j3 install && sudo mv /usr/local/lib/libproj.so.15.0.0 /usr/local/lib/libinternalproj.so.15.0.0 && sudo rm /usr/local/lib/libproj.so* && sudo rm /usr/local/lib/libproj.la && sudo ln -s libinternalproj.so.15.0.0 /usr/local/lib/libinternalproj.so.15 && sudo ln -s libinternalproj.so.15.0.0 /usr/local/lib/libinternalproj.so)
cd gdal
# Disable --with-fgdb=/usr/local since it causes /usr/local/include/GeodatabaseManagement.h:56:1: error: expected constructor, destructor, or type conversion before ‘(’ token EXT_FILEGDB_API fgdbError CreateGeodatabase(const std::wstring& path, Geodatabase& geodatabase);
# Disable --with-mongocxx=/usr/local since it should also likely be compiled with C+11, but this fails because boost itself should probably be
CPPFLAGS="-DMAKE_SANITIZE_HAPPY -fsanitize=undefined -fsanitize=address" LDFLAGS="-fsanitize=undefined -fsanitize=address" ./configure --with-cpp14 --prefix=/usr --without-libtool --enable-debug --with-jpeg12 --with-poppler --without-podofo --with-spatialite --with-mysql --with-liblzma --with-webp --with-epsilon --with-ecw=/usr/local --with-libtiff=internal --with-rename-internal-libtiff-symbols --with-hide-internal-symbols --with-gnm --with-proj=/usr/local
# --with-gta
CPPFLAGS="-DMAKE_SANITIZE_HAPPY -fsanitize=undefined -fsanitize=address" LDFLAGS="-fsanitize=undefined -fsanitize=address" ./configure --prefix=/usr --without-libtool --enable-debug --with-jpeg12 --with-poppler --without-podofo --with-spatialite --with-mysql --with-liblzma --with-webp --with-epsilon --with-libtiff=internal --with-rename-internal-libtiff-symbols --with-hide-internal-symbols --with-gnm --with-proj=/usr/local --with-fgdb=$PWD/../FileGDB_API-64gcc51
make USER_DEFS="-Werror" -j3
cd apps
make USER_DEFS="-Werror" test_ogrsf
......
......@@ -2,37 +2,13 @@
set -e
export PATH=$PWD/install-gcc-5.2.0/bin:$PATH
export LD_LIBRARY_PATH=$PWD/install-gcc-5.2.0/lib64
export PRELOAD=$PWD/install-gcc-5.2.0/lib64/libasan.so.2.0.0:$PWD/install-gcc-5.2.0/lib64/libubsan.so.0.0.0
#export PRELOAD=$PWD/install-gcc-5.2.0/lib64/libubsan.so.0.0.0
export PYTEST="pytest -vv -p no:sugar --color=no"
export PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/5/libasan.so:/usr/lib/gcc/x86_64-linux-gnu/5/libubsan.so
cd gdal
# Perl unit tests
#cd swig/perl
#make test
#cd ../..
# Java unit tests
#cd swig/java
#make test
#cd ../..
# CPP unit tests
cd ../autotest
#cd cpp
#GDAL_SKIP=JP2ECW make quick_test
# Compile and test vsipreload
#make vsipreload.so
#LD_PRELOAD=./vsipreload.so gdalinfo /vsicurl/http://download.osgeo.org/gdal/data/ecw/spif83.ecw
#LD_PRELOAD=./vsipreload.so sqlite3 /vsicurl/http://download.osgeo.org/gdal/data/sqlite3/polygon.db "select * from polygon limit 10"
#cd ..
# Download a sample file
#mkdir -p ogr/tmp/cache/
#cd ogr/tmp/cache/
#wget http://download.osgeo.org/gdal/data/pgeo/PGeoTest.zip
#unzip PGeoTest.zip
#cd ../../..
# Don't run these
rm ogr/ogr_fgdb.py ogr/ogr_pgeo.py
......@@ -40,12 +16,9 @@ rm ogr/ogr_fgdb.py ogr/ogr_pgeo.py
rm ogr/ogr_sqlite.py gdrivers/rasterlite.py
# install test dependencies
# note: pip 9 is installed on the box, but it hits a strange error after upgrading setuptools.
# so we install a newer pip first.
sudo -H pip install -U pip
sudo -H pip install -U -r ./requirements.txt
# Run each module in its own pytest process.
# This makes sure the output from the address sanitizer is relevant
# and it doesn't blow out RAM too much.
......@@ -73,11 +46,3 @@ if grep -P '===.*\d+ failed' ./test-output.txt > /dev/null ; then
else
echo 'Tests passed'
fi
# A bit messy, but force testing with libspatialite 4.0dev (that has been patched a bit to remove any hard-coded SRS definition so it is very small)
#cd ogr
#wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/libspatialite4.0dev_ubuntu12.04-64bit_srs_stripped.tar.gz
#tar xzf libspatialite4.0dev_ubuntu12.04-64bit_srs_stripped.tar.gz
#ln -s install-libspatialite-4.0dev/lib/libspatialite.so.5.0.1 libspatialite.so.3
#LD_PRELOAD=$PRELOAD LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD $PYTEST ogr_sqlite.py
#cd ..
......@@ -45,7 +45,7 @@
44,Distance mark,DISMAR,CATDIS;DATEND;DATSTA;NOBJNM;OBJNAM;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;
45,Dock area,DOCARE,CATDOC;CONDTN;DATEND;DATSTA;HORACC;HORCLR;NOBJNM;OBJNAM;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area;
46,Dredged area,DRGARE,DRVAL1;DRVAL2;NOBJNM;OBJNAM;QUASOU;RESTRN;SOUACC;TECSOU;VERDAT;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area;
47,Dry dock,DRYDOC,CONDTN;HORACC;HORCLR;HORLEN;HORWID;NOBJNM;OBJNAM;STATUS;DRVAL1;QUASOU;SOUACC;VERDAT;,INFORM;NINFOM;SCAMAX;SCAMIN;,RECDAT;RECIND;SORDAT;SORIND;,G,Area;
47,Dry dock,DRYDOC,CONDTN;HORACC;HORCLR;HORLEN;HORWID;NOBJNM;OBJNAM;STATUS;DRVAL1;QUASOU;SOUACC;VERDAT;,INFORM;NINFOM;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area;
48,Dumping ground,DMPGRD,CATDPG;NOBJNM;OBJNAM;RESTRN;STATUS;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Point;Area;
49,Dyke,DYKCON,CONDTN;CONRAD;DATEND;DATSTA;HEIGHT;NATCON;VERACC;VERDAT;VERLEN;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Line;Area;
50,Exclusive Economic Zone,EXEZNE,NATION;,INFORM;NINFOM;NTXTDS;SCAMAX;SCAMIN;TXTDSC;,RECDAT;RECIND;SORDAT;SORIND;,G,Area;
......
gdal (3.0.2~rc1+dfsg-1~exp1) experimental; urgency=medium
* New upstream release candidate.
* Drop CVE-2019-17545.patch, included upstream.
* Update 3.0.1 symbols for mips64el, powerpc, ppc64 & riscv64.
-- Bas Couwenberg <sebastic@debian.org> Mon, 28 Oct 2019 14:33:35 +0100
gdal (3.0.1+dfsg-1~exp4) experimental; urgency=medium
* Update symbols for 3.0.1.
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Description: OGRExpatRealloc(): fix double-free when size to allocate is above
the default 10MB threshold.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16178.
Credit to OSS Fuzz
Author: Even Rouault <even.rouault@spatialys.com>
Origin: https://github.com/OSGeo/gdal/commit/148115fcc40f1651a5d15fa34c9a8c528e7147bb
--- a/ogr/ogr_expat.cpp
+++ b/ogr/ogr_expat.cpp
@@ -89,7 +89,6 @@ static void* OGRExpatRealloc( void *ptr,
if( CanAlloc(size) )
return realloc(ptr, size);
- free(ptr);
return nullptr;
}
......@@ -9,4 +9,3 @@ perl-vendor
privacy-breach-logo.patch
privacy-breach-generic.patch
perl-doxyfile
CVE-2019-17545.patch
......@@ -34,7 +34,7 @@
#include <limits>
#include <new>
CPL_CVSID("$Id: adrgdataset.cpp 3189229c71a9620126f6b349f4f80399baeaf528 2019-04-20 20:33:36 +0200 Even Rouault $")
CPL_CVSID("$Id: adrgdataset.cpp fc772a7e94b9c97f62a72e3eab60fa20b97b9f92 2019-08-12 01:18:04 +0200 Even Rouault $")
#define N_ELEMENTS(x) (sizeof(x)/sizeof(x[0]))
......@@ -1096,7 +1096,7 @@ ADRGDataset* ADRGDataset::OpenDataset(
{
TILEINDEX = new int [NFL * NFC];
}
catch( const std::bad_alloc& )
catch( const std::exception& )
{
return nullptr;
}
......
......@@ -39,7 +39,7 @@
// Uncomment to recognize also .gen files in addition to .img files
// #define OPEN_GEN
CPL_CVSID("$Id: srpdataset.cpp 8ef93c94be1c3ed8d039dff1c9eec112551aa6e1 2018-09-29 14:37:18 +0100 Steve Baker $")
CPL_CVSID("$Id: srpdataset.cpp fc772a7e94b9c97f62a72e3eab60fa20b97b9f92 2019-08-12 01:18:04 +0200 Even Rouault $")
class SRPDataset : public GDALPamDataset
{
......@@ -580,7 +580,7 @@ bool SRPDataset::GetFromRecord( const char* pszFileName, DDFRecord * record )
{
TILEINDEX = new int [NFL * NFC];
}
catch( const std::bad_alloc& )
catch( const std::exception& )
{
return false;
}
......
......@@ -2510,9 +2510,29 @@ CPLErr GDALDAASRasterBand::GetBlocks(int nBlockXOff, int nBlockYOff,
std::shared_ptr<GDALDataset> ds =
std::shared_ptr<GDALDataset>(poTileDS);
poTileDS->MarkSuppressOnClose();
if( !(poTileDS->GetRasterCount() == static_cast<int>(anRequestedBands.size()) &&
poTileDS->GetRasterXSize() == nRequestWidth &&
poTileDS->GetRasterYSize() == nRequestHeight) )
bool bExpectedImageCharacteristics =
(poTileDS->GetRasterXSize() == nRequestWidth &&
poTileDS->GetRasterYSize() == nRequestHeight);
if( bExpectedImageCharacteristics )
{
if( poTileDS->GetRasterCount() == static_cast<int>(anRequestedBands.size()) )
{
// ok
}
else if( eRequestFormat == GDALDAASDataset::Format::PNG &&
anRequestedBands.size() == 1 &&
poTileDS->GetRasterCount() == 4 )
{
// ok
}
else
{
bExpectedImageCharacteristics = false;
}
}
if( !bExpectedImageCharacteristics )
{
CPLError(CE_Failure, CPLE_AppDefined,
"Got tile of size %dx%dx%d, whereas %dx%dx%d was expected",
......