@@ -194,12 +194,11 @@ #ifdef OF_INFLATE64_STREAM_M _slidingWindowMask = 0xFFFF; #else _slidingWindowMask = 0x7FFF; #endif - _slidingWindow = [self allocZeroedMemoryWithSize: - _slidingWindowMask + 1]; + _slidingWindow = of_calloc(_slidingWindowMask + 1, 1); } @catch (id e) { [self release]; @throw e; } @@ -209,14 +208,19 @@ - (void)dealloc { if (_stream != nil) [self close]; - if (_state == HUFFMAN_TREE) + free(_slidingWindow); + + if (_state == HUFFMAN_TREE) { + free(_context.huffmanTree.lengths); + if (_context.huffmanTree.codeLenTree != NULL) of_huffman_tree_release( _context.huffmanTree.codeLenTree); + } if (_state == HUFFMAN_TREE || _state == HUFFMAN_BLOCK) { if (_context.huffman.litLenTree != fixedLitLenTree) of_huffman_tree_release(_context.huffman.litLenTree); if (_context.huffman.distTree != fixedDistTree) @@ -374,12 +378,11 @@ CTX.codeLenCodesCount = bits; } if OF_LIKELY (CTX.lengths == NULL) - CTX.lengths = [self - allocZeroedMemoryWithSize: 19]; + CTX.lengths = of_calloc(19, 1); for (uint16_t i = CTX.receivedCount; i < CTX.codeLenCodesCount + 4; i++) { if OF_UNLIKELY (!tryReadBits(self, &bits, 3)) { CTX.receivedCount = i; @@ -391,19 +394,19 @@ CTX.codeLenTree = of_huffman_tree_construct( CTX.lengths, 19); CTX.treeIter = CTX.codeLenTree; - [self freeMemory: CTX.lengths]; + free(CTX.lengths); CTX.lengths = NULL; CTX.receivedCount = 0; CTX.value = 0xFF; } if OF_LIKELY (CTX.lengths == NULL) - CTX.lengths = [self allocMemoryWithSize: - CTX.litLenCodesCount + CTX.distCodesCount + 258]; + CTX.lengths = of_malloc( + CTX.litLenCodesCount + CTX.distCodesCount + 258, 1); for (uint16_t i = CTX.receivedCount; i < CTX.litLenCodesCount + CTX.distCodesCount + 258;) { uint8_t j, count; @@ -482,11 +485,11 @@ CTX.litLenCodesCount + 257); CTX.distTree = of_huffman_tree_construct( CTX.lengths + CTX.litLenCodesCount + 257, CTX.distCodesCount + 1); - [self freeMemory: CTX.lengths]; + free(CTX.lengths); /* * litLenTree and distTree are at the same location in * _context.huffman and _context.huffmanTree, thus no need to * set them.