aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Boundary.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Boundary.c b/src/Boundary.c
index 4e0c0e3..d9da8a3 100644
--- a/src/Boundary.c
+++ b/src/Boundary.c
@@ -386,6 +386,7 @@ CCTK_INT Bdry_Boundary_SelectVarForBC(CCTK_POINTER_TO_CONST _GH,
-2 no such physical boundary condition registered
-3 faces already selected for bc
-5 new value for GH passed in
+ -7 invalid variable index
@endreturndesc
@@*/
CCTK_INT Bdry_Boundary_SelectVarForBCI(CCTK_POINTER_TO_CONST _GH,
@@ -409,6 +410,14 @@ CCTK_INT Bdry_Boundary_SelectVarForBCI(CCTK_POINTER_TO_CONST _GH,
previous = NULL;
previous_bcdata = NULL;
+ if (var_index<0 || var_index>=CCTK_NumVars())
+ {
+ CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Invalid variable index");
+ retval = -7;
+ return retval;
+ }
+
#ifdef DEBUG
printf("Boundary_SelectVarForBCI:\n");
printf(" called with GH=%p, faces=%d, width=%d, table_handle=%d, "
@@ -801,6 +810,7 @@ CCTK_INT Bdry_Boundary_SelectGroupForBCI(CCTK_POINTER_TO_CONST _GH,
CCTK_VWarn(1, __LINE__, __FILE__, CCTK_THORNSTRING,
"Invalid group index");
retval = -7;
+ return retval;
}
#ifdef DEBUG