From ed521e5465d8ba684f802b69774e5ba737cd878d Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 23 Dec 2025 07:39:22 +0000 Subject: [PATCH] realloc return handling --- fluids3.0/common/app_util.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fluids3.0/common/app_util.cpp b/fluids3.0/common/app_util.cpp index 8981f73..dfa9873 100644 --- a/fluids3.0/common/app_util.cpp +++ b/fluids3.0/common/app_util.cpp @@ -2588,11 +2588,15 @@ unsigned lodepng_huffman_code_lengths(unsigned* lengths, const unsigned* frequen static unsigned HuffmanTree_makeFromFrequencies(HuffmanTree* tree, const unsigned* frequencies, size_t mincodes, size_t numcodes, unsigned maxbitlen) { + unsigned* lengths; unsigned error = 0; while(!frequencies[numcodes - 1] && numcodes > mincodes) numcodes--; /*trim zeroes*/ tree->maxbitlen = maxbitlen; tree->numcodes = (unsigned)numcodes; /*number of symbols*/ - tree->lengths = (unsigned*)myrealloc(tree->lengths, numcodes * sizeof(unsigned)); + lengths = (unsigned*)realloc(tree->lengths, numcodes * sizeof(unsigned)); + if (!lengths) + free(tree->lengths); + tree->lengths = lengths; if(!tree->lengths) return 83; /*alloc fail*/ /*initialize all lengths to 0*/ memset(tree->lengths, 0, numcodes * sizeof(unsigned));