htrdr

Solving radiative transfer in heterogeneous media
git clone git://git.meso-star.fr/htrdr.git
Log | Files | Refs | README | LICENSE

commit 2ce672fa27afd33a979ab946574d000e6d617165
parent f5938d975152de903266c5c10a322ed6580c0508
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Wed,  7 Nov 2018 10:07:56 +0100

Fix an invalid memory read

Diffstat:
Msrc/htrdr_sky.c | 5++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/htrdr_sky.c b/src/htrdr_sky.c @@ -1142,7 +1142,10 @@ setup_clouds const double upp_z = (double)(iz + 1) * sky->lut_cell_sz + low[2]; darray_split_data_get(&sky->svx2htcp_z)[iz].index = iz2; darray_split_data_get(&sky->svx2htcp_z)[iz].height = upp[2]; - if(upp_z >= upp[2]) upp[2] += sky->htcp_desc.vxsz_z[++iz2]; + if(upp_z >= upp[2] && iz + 1 < nsplits) { + ASSERT(iz2 + 1 < sky->htcp_desc.spatial_definition[2]); + upp[2] += sky->htcp_desc.vxsz_z[++iz2]; + } } ASSERT(eq_eps(upp[2] - low[2], len_z, 1.e-6)); }