diff options
-rw-r--r-- | src/Boundary.c | 10 |
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 |