From 22ef40ba17f38b4fd26b34c5096c7e7fce06a14f Mon Sep 17 00:00:00 2001 From: Richard Stanway Date: Mon, 18 Jul 2022 23:22:11 +0200 Subject: [PATCH] text-freetype2: Don't read / write empty size arrays --- plugins/text-freetype2/find-font.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/plugins/text-freetype2/find-font.c b/plugins/text-freetype2/find-font.c index 557abf78e..fa00edf65 100644 --- a/plugins/text-freetype2/find-font.c +++ b/plugins/text-freetype2/find-font.c @@ -79,11 +79,13 @@ static bool load_cached_font_list(struct serializer *s) do_read(info->is_bitmap); do_read(info->num_sizes); - info->sizes = bmalloc(sizeof(int) * info->num_sizes); - success = read_data(s, info->sizes, - sizeof(int) * info->num_sizes); - if (!success) - break; + if (info->num_sizes) { + info->sizes = bmalloc(sizeof(int) * info->num_sizes); + success = read_data(s, info->sizes, + sizeof(int) * info->num_sizes); + if (!success) + break; + } do_read(info->bold); @@ -188,10 +190,12 @@ void save_font_list(void) do_write(info->is_bitmap); do_write(info->num_sizes); - success = write_data(&s, info->sizes, - sizeof(int) * info->num_sizes); - if (!success) - break; + if (info->num_sizes) { + success = write_data(&s, info->sizes, + sizeof(int) * info->num_sizes); + if (!success) + break; + } do_write(info->bold);