浏览代码

r.viewshed: Avoid integer overflow (#1275)

Fixes -Winteger-overflow compiler warning.
nila 4 年之前
父节点
当前提交
dc5e3db717
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3 2
      raster/r.viewshed/viewshed.cpp

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

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