commit 48fe3f273657bcd71e9e8aeecf2e8dd39e1738d3
parent 9adb85a69edb8446b132b25f9a2e7ed49f669ee5
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Mon, 19 Dec 2022 15:14:04 +0100
BugFix: alloc return not checked
Diffstat:
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/src/cg_constructive_mode_0.c b/src/cg_constructive_mode_0.c
@@ -96,7 +96,6 @@ build_roof
double e;
double d[3] = {0, 0, 0};
struct data_set_cmode_0* data;
- /*struct data_cad_model0* data_cad;*/
char* roofname = NULL;
struct str name;
int is_init = 0;
@@ -111,7 +110,6 @@ build_roof
height = b->height;
data = (struct data_set_cmode_0*)b->data;
- /*data_cad = (struct data_cad_model0*)b->data_cad;*/
e = data->floor;
ERR(scad_geometry_copy(floor, roofname, roof));
@@ -132,7 +130,6 @@ build_wall_footprint
struct scad_geometry** footprint)
{
res_T res = RES_OK;
- /*struct data_cad_model0* data_cad;*/
struct scad_geometry* polygon = NULL;
struct scad_geometry* polygon_int = NULL;
size_t nverts, nverts_int;
@@ -246,6 +243,10 @@ build_connection
int is_init = 0;
cad->connection = malloc(3 * sizeof(struct scad_geometry*));
+ if(!cad->connection) {
+ res = RES_MEM_ERR;
+ goto error;
+ }
cad->n_connection = 3;
/* cavity/floor connection */
@@ -310,6 +311,10 @@ build_boundary
int is_init = 0;
list = malloc(4 * sizeof(struct scad_geometry*));
+ if(!list) {
+ res = RES_MEM_ERR;
+ goto error;
+ }
list[0] = cad->floor;
list[1] = cad->wall;
list[2] = cad->roof;
@@ -454,6 +459,10 @@ build_cad_model0(struct building* building)
}
data_cad = calloc(1, sizeof(struct data_cad_cmode_0));
+ if(!data_cad) {
+ res = RES_MEM_ERR;
+ goto error;
+ }
building->data_cad = (struct data_cad_cmode_0*)data_cad;
e_wall = data->wall;
@@ -484,7 +493,6 @@ build_cad_model0(struct building* building)
/* build cavity/floor connectiona*/
ERR(build_connection(name, building->data_cad));
-
exit:
if(pg_int) scpr_polygon_ref_put(pg_int);
return res;
diff --git a/src/cg_constructive_mode_1.c b/src/cg_constructive_mode_1.c
@@ -1258,6 +1258,10 @@ build_cad_model1(struct building* building)
}
data_cad = calloc(1, sizeof(struct data_cad_cmode_1));
+ if(!data_cad) {
+ res = RES_MEM_ERR;
+ goto error;
+ }
building->data_cad = (struct data_cad_cmode_1*)data_cad;
/* build mandatories elements :