]> granicus.if.org Git - postgis/commitdiff
Fix undefined behaviour in SADFWrite
authorRaúl Marín Rodríguez <rmrodriguez@carto.com>
Tue, 2 Oct 2018 09:45:39 +0000 (09:45 +0000)
committerRaúl Marín Rodríguez <rmrodriguez@carto.com>
Tue, 2 Oct 2018 09:45:39 +0000 (09:45 +0000)
References #4189

git-svn-id: http://svn.osgeo.org/postgis/branches/2.3@16865 b70326c6-7e19-0410-871a-916f4a2858ee

NEWS
loader/safileio.c

diff --git a/NEWS b/NEWS
index 66a19121b52974d61abd8533da472de78bf75a6b..66c0fc2edaf10bf39def1f2a092e4338500f6025 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@ PostGIS 2.3.8
   - #3997, fix bug in lwgeom_median and avoid division by zero (Raúl Marín)
   - #4093, Inconsistent results from qsort callback (yugr)
   - #4160, Use qualified names in topology extension install (Raúl Marín)
+  - #4189, Fix undefined behaviour in SADFWrite (Raúl Marín)
 
 
 PostGIS 2.3.7
index 439ebb141f2a707e015468c0f4ff0d229b090c80..ee5a98afbe26a4aaf2ae82c2360de726a92e712a 100644 (file)
@@ -115,8 +115,9 @@ SAOffset SADFRead( void *p, SAOffset size, SAOffset nmemb, SAFile file )
 SAOffset SADFWrite( void *p, SAOffset size, SAOffset nmemb, SAFile file )
 
 {
-    return (SAOffset) fwrite( p, (size_t) size, (size_t) nmemb,
-                              (FILE *) file );
+       if (!nmemb || !p) return 0;
+       return (SAOffset) fwrite( p, (size_t) size, (size_t) nmemb,
+                               (FILE *) file );
 }
 
 /************************************************************************/