aboutsummaryrefslogtreecommitdiff
path: root/Carpet
diff options
context:
space:
mode:
authorschnetter <>2003-08-15 07:34:00 +0000
committerschnetter <>2003-08-15 07:34:00 +0000
commit59b51723aa02b896c4bcd5fbde02038b005cb715 (patch)
treeef1be71308c5cc816cedcbe6b15788d700add858 /Carpet
parent0bc5df6a7a6d19cf3f46b0ee4ed9578835601336 (diff)
Check whether the total number of grid points fits into an int.
darcs-hash:20030815073436-07bb3-9831a752d1a3d301651a5a40d72fa9aa9303d749.gz
Diffstat (limited to 'Carpet')
-rw-r--r--Carpet/Carpet/param.ccl2
-rw-r--r--Carpet/Carpet/src/CarpetParamCheck.cc2
-rw-r--r--Carpet/Carpet/src/SetupGH.cc13
3 files changed, 14 insertions, 3 deletions
diff --git a/Carpet/Carpet/param.ccl b/Carpet/Carpet/param.ccl
index e8e0f7345..6742612e2 100644
--- a/Carpet/Carpet/param.ccl
+++ b/Carpet/Carpet/param.ccl
@@ -1,5 +1,5 @@
# Parameter definitions for thorn Carpet
-# $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/param.ccl,v 1.32 2003/08/10 21:59:51 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/param.ccl,v 1.33 2003/08/15 09:34:36 schnetter Exp $
shares: Cactus
diff --git a/Carpet/Carpet/src/CarpetParamCheck.cc b/Carpet/Carpet/src/CarpetParamCheck.cc
index ba3e4ebcd..038113bb2 100644
--- a/Carpet/Carpet/src/CarpetParamCheck.cc
+++ b/Carpet/Carpet/src/CarpetParamCheck.cc
@@ -8,7 +8,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/CarpetParamCheck.cc,v 1.7 2003/07/22 20:09:05 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/CarpetParamCheck.cc,v 1.8 2003/08/15 09:34:36 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_CarpetParamCheck_cc);
}
diff --git a/Carpet/Carpet/src/SetupGH.cc b/Carpet/Carpet/src/SetupGH.cc
index e1fd46355..0fd45e49d 100644
--- a/Carpet/Carpet/src/SetupGH.cc
+++ b/Carpet/Carpet/src/SetupGH.cc
@@ -1,4 +1,5 @@
#include <assert.h>
+#include <limits.h>
#include <stdlib.h>
#include <string.h>
@@ -19,7 +20,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/SetupGH.cc,v 1.51 2003/07/20 21:03:43 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/SetupGH.cc,v 1.52 2003/08/15 09:34:36 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_SetupGH_cc);
}
@@ -180,6 +181,16 @@ namespace Carpet {
} else {
npoints = vect<int,dim>(global_nsize, global_nsize, global_nsize);
}
+ // Sanity check
+ // (if this fails, someone requested an insane amount of memory)
+ assert (all(npoints <= INT_MAX / maxreflevelfact));
+ {
+ int max = INT_MAX;
+ for (int d=0; d<dim; ++d) {
+ assert (npoints[d] * maxreflevelfact <= max);
+ max /= npoints[d] * maxreflevelfact;
+ }
+ }
const vect<int,dim> str(stride);
const vect<int,dim> lb(0);