stardis-solver

Solve coupled heat transfers
git clone git://git.meso-star.fr/stardis-solver.git
Log | Files | Refs | README | LICENSE

commit 0080a5f22b16d77c268f1503106a23d91c7f6e4f
parent efa24a79c2a8e44623aa8c7eee1228f6ece27285
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Wed, 10 Jan 2024 12:06:43 +0100

Fixed creation of a source without attached data

Diffstat:
Msrc/sdis_source.c | 4++--
Msrc/test_sdis_source.c | 4++++
2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/sdis_source.c b/src/sdis_source.c @@ -69,7 +69,7 @@ release_source(ref_T* ref) struct sdis_source* src = CONTAINER_OF(ref, struct sdis_source, ref); ASSERT(ref); dev = src->dev; - SDIS(data_ref_put(src->spherical.data)); + if(src->spherical.data) SDIS(data_ref_put(src->spherical.data)); MEM_RM(dev->allocator, src); SDIS(device_ref_put(dev)); } @@ -98,7 +98,7 @@ sdis_spherical_source_create } ref_init(&src->ref); SDIS(device_ref_get(dev)); - SDIS(data_ref_get(args->data)); + if(args->data) SDIS(data_ref_get(args->data)); src->spherical = *args; src->dev = dev; diff --git a/src/test_sdis_source.c b/src/test_sdis_source.c @@ -57,6 +57,10 @@ check_spherical_source(struct sdis_device* dev) OK(sdis_source_ref_put(src)); OK(sdis_data_ref_put(data)); + + args.data = NULL; + OK(sdis_spherical_source_create(dev, &args, &src)); + OK(sdis_source_ref_put(src)); } /*******************************************************************************