diff options
author | Christian C <cc@localhost> | 2025-04-01 20:46:17 -0700 |
---|---|---|
committer | Christian C <cc@localhost> | 2025-04-01 20:46:17 -0700 |
commit | ec7436a01deb8e28743de47ad98950c914d6da2a (patch) | |
tree | 765212b89d5c9740408d3d8bda8e1daacf55890e /lib/data | |
parent | a18cea2fef7aa1545c9a984b60919541b26a6f84 (diff) |
Global Allocator Checking
Diffstat (limited to 'lib/data')
-rw-r--r-- | lib/data/image_types.c | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/lib/data/image_types.c b/lib/data/image_types.c index 9a0e0ce..f5c9115 100644 --- a/lib/data/image_types.c +++ b/lib/data/image_types.c @@ -1,39 +1,40 @@ #include <lib/data/image_types.h> +#include <lib/mem/galloc.h> #include <stdio.h> #include <stdlib.h> Image *create_image(size_t width, size_t height, size_t channels) { - Image *ip = (Image *)malloc(sizeof(Image)); + Image *ip = (Image *)g_malloc(sizeof(Image)); if (ip == NULL) { return NULL; } ip->width = width; ip->height = height; ip->depth = channels; - ip->image = (ImageData_t ***)malloc(sizeof(ImageData_t **) * ip->height); + ip->image = (ImageData_t ***)g_malloc(sizeof(ImageData_t **) * ip->height); if (ip->image == NULL) { fprintf(stderr, "Memory allocation error\n"); - free(ip); + g_free(ip); return NULL; } ImageData_t *image_data = - calloc(width * height * channels, sizeof(ImageData_t)); + g_calloc(width * height * channels, sizeof(ImageData_t)); if (image_data == NULL) { fprintf(stderr, "Memory allocation error\n"); - free(ip->image); - free(ip); + g_free(ip->image); + g_free(ip); return NULL; } for (size_t y = 0; y < height; y++) { - ip->image[y] = (ImageData_t **)malloc(sizeof(ImageData_t *) * ip->width); + ip->image[y] = (ImageData_t **)g_malloc(sizeof(ImageData_t *) * ip->width); if (ip->image[y] == NULL) { fprintf(stderr, "Memory allocation error\n"); for (size_t ty = 0; ty < y; ty++) { - free(ip->image[ty]); + g_free(ip->image[ty]); } - free(image_data); - free(ip->image); - free(ip); + g_free(image_data); + g_free(ip->image); + g_free(ip); } for (size_t x = 0; x < width; x++) { ip->image[y][x] = &image_data[(y * width + x) * channels]; @@ -43,21 +44,21 @@ Image *create_image(size_t width, size_t height, size_t channels) { } Mask *create_image_mask(size_t width, size_t height) { - Mask *ip = (Mask *)malloc(sizeof(Mask)); + Mask *ip = (Mask *)g_malloc(sizeof(Mask)); if (ip == NULL) { return NULL; } ip->width = width; ip->height = height; - ip->image = (MaskData_t **)malloc(sizeof(MaskData_t *) * ip->height); + ip->image = (MaskData_t **)g_malloc(sizeof(MaskData_t *) * ip->height); if (ip->image == NULL) { - free(ip); + g_free(ip); return NULL; } - MaskData_t *image_data = calloc(width * height, sizeof(MaskData_t)); + MaskData_t *image_data = g_calloc(width * height, sizeof(MaskData_t)); if (image_data == NULL) { - free(ip->image); - free(ip); + g_free(ip->image); + g_free(ip); return NULL; } for (size_t y = 0; y < height; y++) { @@ -68,28 +69,28 @@ Mask *create_image_mask(size_t width, size_t height) { void free_image(Image *image) { if (image->image[0] != NULL) { - free(image->image[0]); + g_free(image->image[0]); image->image[0] = NULL; } if (image->image != NULL) { - free(image->image); + g_free(image->image); image->image = NULL; } if (image != NULL) { - free(image); + g_free(image); } } void free_image_mask(Mask *image_mask) { if (image_mask->image[0] != NULL) { - free(image_mask->image[0]); + g_free(image_mask->image[0]); image_mask->image[0] = NULL; } if (image_mask->image != NULL) { - free(image_mask->image); + g_free(image_mask->image); image_mask->image = NULL; } if (image_mask != NULL) { - free(image_mask); + g_free(image_mask); } } |