Overview
| Comment: | OFInflateStream: Fix memory leak on early dealloc |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
1eb94a26f6573debfdf1686fa09dd01e |
| User & Date: | js on 2016-02-21 16:25:09 |
| Other Links: | manifest | tags |
Context
|
2016-02-21
| ||
| 17:35 | OFRunLoop.h: Add missing forward class (check-in: 1e6fdafe12 user: js tags: trunk) | |
| 16:25 | OFInflateStream: Fix memory leak on early dealloc (check-in: 1eb94a26f6 user: js tags: trunk) | |
| 15:37 | Make use of C99-style for loops (check-in: e0b9167693 user: js tags: trunk) | |
Changes
Modified src/OFInflateStream.m from [c913b5050c] to [8c624becdc].
| ︙ | |||
294 295 296 297 298 299 300 301 302 303 304 305 306 307 | 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 | + + + + + + + + + + + |
return self;
}
- (void)dealloc
{
[_stream release];
if (_state == HUFFMAN_TREE)
if (_context.huffmanTree.codeLenTree != NULL)
releaseTree(_context.huffmanTree.codeLenTree);
if (_state == HUFFMAN_TREE || _state == HUFFMAN_BLOCK) {
if (_context.huffman.litLenTree != fixedLitLenTree)
releaseTree(_context.huffman.litLenTree);
if (_context.huffman.distTree != fixedDistTree)
releaseTree(_context.huffman.distTree);
}
[super dealloc];
}
#endif
- (size_t)lowlevelReadIntoBuffer: (void*)buffer_
length: (size_t)length
|
| ︙ | |||
554 555 556 557 558 559 560 561 562 563 564 565 566 567 | 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 | + | for (j = 0; j < count; j++) CTX.lengths[i++] = value; CTX.value = 0xFF; } releaseTree(CTX.codeLenTree); CTX.codeLenTree = NULL; CTX.litLenTree = constructTree(CTX.lengths, CTX.litLenCodesCount + 257); CTX.distTree = constructTree( CTX.lengths + CTX.litLenCodesCount + 257, CTX.distCodesCount + 1); |
| ︙ |