From 7f39bd50e0dbf4f299623da161b24e96b99c9148 Mon Sep 17 00:00:00 2001 From: Shubham Vasudeo Desai Date: Wed, 15 Jan 2025 17:17:02 -0500 Subject: [PATCH 1/2] Fix Resource Leak issue --- vector/v.to.rast/do_areas.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vector/v.to.rast/do_areas.c b/vector/v.to.rast/do_areas.c index c3be7f5c18d..f29ed8b5504 100644 --- a/vector/v.to.rast/do_areas.c +++ b/vector/v.to.rast/do_areas.c @@ -98,8 +98,10 @@ int sort_areas(struct Map_info *Map, struct line_pnts *Points, int field, /* first count valid areas */ nareas = Vect_get_num_areas(Map); - if (nareas == 0) + if (nareas == 0) { + Vect_destroy_cats_struct(Cats); return 0; + } /* allocate list to hold valid area info */ list = (struct list *)G_calloc(nareas * sizeof(char), sizeof(struct list)); @@ -155,6 +157,7 @@ int sort_areas(struct Map_info *Map, struct line_pnts *Points, int field, /* sort the list by size */ qsort(list, nareas * sizeof(char), sizeof(struct list), compare); } + Vect_destroy_cats_struct(Cats); return nareas_selected; } From 96dddc69a2bb4e2231e37e8e271733357438597e Mon Sep 17 00:00:00 2001 From: Shubham Vasudeo Desai Date: Wed, 15 Jan 2025 17:34:41 -0500 Subject: [PATCH 2/2] Suggested changes --- vector/v.to.rast/do_areas.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/vector/v.to.rast/do_areas.c b/vector/v.to.rast/do_areas.c index f29ed8b5504..413ab8346d4 100644 --- a/vector/v.to.rast/do_areas.c +++ b/vector/v.to.rast/do_areas.c @@ -94,14 +94,13 @@ int sort_areas(struct Map_info *Map, struct line_pnts *Points, int field, CELL cat; G_begin_polygon_area_calculations(); - Cats = Vect_new_cats_struct(); /* first count valid areas */ nareas = Vect_get_num_areas(Map); - if (nareas == 0) { - Vect_destroy_cats_struct(Cats); + if (nareas == 0) return 0; - } + + Cats = Vect_new_cats_struct(); /* allocate list to hold valid area info */ list = (struct list *)G_calloc(nareas * sizeof(char), sizeof(struct list));