Prechádzať zdrojové kódy

r.viewshed: avoid integer overflow

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@71273 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 7 rokov pred
rodič
commit
b5ccb7efb5
1 zmenil súbory, kde vykonal 3 pridanie a 1 odobranie
  1. 3 1
      raster/r.viewshed/viewshed.cpp

+ 3 - 1
raster/r.viewshed/viewshed.cpp

@@ -151,7 +151,9 @@ AEvent *allocate_eventlist(GridHeader * hd)
     }
     else {
 	/* this is the max value of size_t */
-	long long maxsizet = ((long long)1 << (sizeof(size_t) * 8)) - 1;
+	long long maxsizet = ((long long)1 << (sizeof(size_t) * 8 - 2)) - 1;
+
+	maxsizet += ((long long)1 << (sizeof(size_t) * 8 - 2));
 
 	G_debug(1, "max size_t is %lld", maxsizet);