From c91f4d79bd758283572930f350b61a91506de5a2 Mon Sep 17 00:00:00 2001 From: Vftdan Date: Thu, 3 Oct 2024 10:16:57 +0200 Subject: [PATCH] Allocate the correct amount of intermediate centroid data --- img2cpi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/img2cpi.c b/img2cpi.c index be9c3fa..af339bc 100644 --- a/img2cpi.c +++ b/img2cpi.c @@ -675,11 +675,12 @@ struct palette *custom_palette_from(const struct palette *orig) { struct k_means_state k_means_init(const struct image *image, struct palette *starting_palette) { size_t item_count = image->w * image->h; + uint8_t cluster_count = starting_palette->count; struct k_means_state state = { .items = image, .clusters = starting_palette, .predicted_cluster = calloc(image->w, image->h), - .centroid_intermediate = calloc(item_count, sizeof(struct k_means_centroid_intermediate)), + .centroid_intermediate = calloc(cluster_count, sizeof(struct k_means_centroid_intermediate)), .item_count = item_count, }; return state;