rnatm

Load and structure data describing an atmosphere
git clone git://git.meso-star.fr/rnatm.git
Log | Files | Refs | README | LICENSE

commit 002f17b47dd33646343a401df35c06f4ffd8f5aa
parent a564aebfc7a3da40f9f4c665f6740d6a88aa7cc8
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 28 Oct 2022 18:13:35 +0200

Fix invalid memory access

Spectral band array indexing was wrong when they were saved

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

diff --git a/src/rnatm_properties.c b/src/rnatm_properties.c @@ -782,6 +782,7 @@ setup_spectral_range(struct rnatm* atm, const struct rnatm_create_args* args) { size_t bands[2]; size_t iband, nbands; + size_t i; res_T res = RES_OK; ASSERT(atm && args); ASSERT(args->spectral_range[0] <= args->spectral_range[1]); @@ -804,15 +805,17 @@ setup_spectral_range(struct rnatm* atm, const struct rnatm_create_args* args) } /* Register the bands */ + i = 0; FOR_EACH(iband, bands[0], bands[1]+1) { struct band* band = NULL; struct sck_band sck_band; SCK(get_band(atm->gas.ck, iband, &sck_band)); - band = darray_band_data_get(&atm->bands) + iband; + band = darray_band_data_get(&atm->bands) + i; band->index = iband; band->nquad_pts = sck_band.quad_pts_count; + ++i; } exit: