From d11a14a27b59d91b64bcdfc7059f62fcec596001 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 24 Feb 2019 17:16:04 +0100 Subject: ell_grid_solve: do not read from outside of allocated boundary values --- ell_grid_solve.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ell_grid_solve.c b/ell_grid_solve.c index 9d50c82..1952f95 100644 --- a/ell_grid_solve.c +++ b/ell_grid_solve.c @@ -420,7 +420,7 @@ static int solve_exact(EGSContext *ctx) continue; for (ptrdiff_t bnd_layer = 1; bnd_layer < ctx->fd_stencil; bnd_layer++) - for (ptrdiff_t bnd_idx = -(ptrdiff_t)ctx->fd_stencil; bnd_idx < (ptrdiff_t)(bnd_len[0] + ctx->fd_stencil); bnd_idx++) { + for (ptrdiff_t bnd_idx = -((ptrdiff_t)ctx->fd_stencil - 1); bnd_idx < (ptrdiff_t)(bnd_len[0] + ctx->fd_stencil - 1); bnd_idx++) { e->rhs[mat_row_idx] -= bnd->val[bnd_layer * bnd->val_stride + bnd_idx] * dst[dir * bnd_layer * bnd_stride[1] + bnd_idx * bnd_stride[0]]; dst[dir * bnd_layer * bnd_stride[1] + bnd_idx * bnd_stride[0]] = 0.0; } -- cgit v1.2.3