From ec7436a01deb8e28743de47ad98950c914d6da2a Mon Sep 17 00:00:00 2001 From: Christian C Date: Tue, 1 Apr 2025 20:46:17 -0700 Subject: Global Allocator Checking --- lib/seg/util.c | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) (limited to 'lib/seg/util.c') diff --git a/lib/seg/util.c b/lib/seg/util.c index 8af8199..a9db067 100644 --- a/lib/seg/util.c +++ b/lib/seg/util.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -80,8 +81,8 @@ MaskData_t *_dilate(const Mask *mask) { } } MaskData_t *ret_mask = new_mask->image[0]; - free(new_mask->image); - free(new_mask); + g_free(new_mask->image); + g_free(new_mask); return ret_mask; } @@ -89,7 +90,7 @@ MaskData_t *_dilate(const Mask *mask) { void dilate(Mask *mask) { MaskData_t *new_mask = _dilate(mask); if (new_mask != NULL) { - free(mask->image[0]); + g_free(mask->image[0]); for (size_t y = 0; y < mask->height; y++) { mask->image[y] = &(new_mask[y * mask->width]); } @@ -132,8 +133,8 @@ MaskData_t *_erode(const Mask *mask) { } } MaskData_t *ret_mask = new_mask->image[0]; - free(new_mask->image); - free(new_mask); + g_free(new_mask->image); + g_free(new_mask); return ret_mask; } @@ -141,7 +142,7 @@ MaskData_t *_erode(const Mask *mask) { void erode(Mask *mask) { MaskData_t *new_mask = _erode(mask); if (new_mask != NULL) { - free(mask->image[0]); + g_free(mask->image[0]); for (size_t y = 0; y < mask->height; y++) { mask->image[y] = &(new_mask[y * mask->width]); } @@ -169,8 +170,8 @@ MaskData_t *_closeup(Mask *mask, size_t num_pixels) { } } MaskData_t *ret_mask = new_mask->image[0]; - free(new_mask->image); - free(new_mask); + g_free(new_mask->image); + g_free(new_mask); return ret_mask; } @@ -179,7 +180,7 @@ MaskData_t *_closeup(Mask *mask, size_t num_pixels) { void closeup(Mask *mask, size_t num_pixels) { MaskData_t *new_mask = _closeup(mask, num_pixels); if (new_mask != NULL) { - free(mask->image[0]); + g_free(mask->image[0]); for (size_t y = 0; y < mask->height; y++) { mask->image[y] = &(new_mask[y * mask->width]); } @@ -227,7 +228,7 @@ Mask *tif_to_labels(char *tif_file_name, MaskData_t *starting_label_p) { channels = (STRIP_LENGTH * STRIP_COUNT) / (width * height); //-TIFF-LOAD-DATA-------------------------------- - void *buffer = malloc(STRIP_LENGTH * sizeof(ImageData_t)); + void *buffer = g_malloc(STRIP_LENGTH * sizeof(ImageData_t)); if (buffer == NULL) { fprintf(stderr, "Memory allocation error\n"); TIFFClose(tif); @@ -236,7 +237,7 @@ Mask *tif_to_labels(char *tif_file_name, MaskData_t *starting_label_p) { Image *image = create_image(width, height, channels); if (image == NULL) { fprintf(stderr, "Memory allocation error\n"); - free(buffer); + g_free(buffer); TIFFClose(tif); return NULL; } @@ -247,7 +248,7 @@ Mask *tif_to_labels(char *tif_file_name, MaskData_t *starting_label_p) { image->image[0][0][x + y * STRIP_LENGTH] = ((ImageData_t *)buffer)[x]; } } - free(buffer); + g_free(buffer); //-FLOOD-FILL-SEGMENTATION----------------------- //-CONTIGUOUS-REGION-FINDING--------------------- @@ -279,13 +280,13 @@ Bitmap *image_mask_data_to_bitmap(const Mask *mask) { MaskData_t *buffer = mask->image[0]; uint32_t width = mask->width; uint32_t height = mask->height; - Pixel *out_buffer = (Pixel *)calloc(width * height, sizeof(Pixel)); + Pixel *out_buffer = (Pixel *)g_calloc(width * height, sizeof(Pixel)); if (out_buffer == NULL) { return NULL; } - Bitmap *bitmap = (Bitmap *)malloc(sizeof(Bitmap)); + Bitmap *bitmap = (Bitmap *)g_malloc(sizeof(Bitmap)); if (bitmap == NULL) { - free(out_buffer); + g_free(out_buffer); return NULL; } for (size_t y = 0; y < height; y++) { @@ -311,7 +312,7 @@ MaskData_t *_reduce_contiguous_regions(MaskData_t *masks, uint32_t width, MaskData_t *total_labels) { MaskData_t starting_label = 1; MaskData_t *new_masks = - (MaskData_t *)calloc(width * height, sizeof(MaskData_t)); + (MaskData_t *)g_calloc(width * height, sizeof(MaskData_t)); if (new_masks == NULL) { return NULL; } @@ -341,7 +342,7 @@ void reduce_contiguous_regions(Mask *mask, MaskData_t *total_labels) { MaskData_t *new_masks = _reduce_contiguous_regions( mask->image[0], mask->width, mask->height, total_labels); if (new_masks != NULL) { - free(mask->image[0]); + g_free(mask->image[0]); for (size_t y = 0; y < mask->height; y++) { mask->image[y] = &new_masks[y * mask->width]; } -- cgit v1.2.1