diff options
author | SzuWei Lin <szuweilin@google.com> | 2017-06-09 16:36:36 +0800 |
---|---|---|
committer | SzuWei Lin <szuweilin@google.com> | 2017-06-15 10:50:12 +0800 |
commit | 79e48a0a0525c3dc7a58b89789e15aea5f396254 (patch) | |
tree | 18b17fb424e1d19319c6487bd29399ed5bf5d111 /ufdt_node_pool.c | |
parent | 79ba2aefbbc7fcf8f8b60b5efab417e5684b13b6 (diff) | |
download | libufdt-79e48a0a0525c3dc7a58b89789e15aea5f396254.tar.gz |
Fix memory leak problem in ufdt_node_pool_destruct
ufdt_node_pool could delay memory block freeing to enhance
performance. The left memory blocks should be freed in
ufdt_node_pool_destruct().
The patch fix the problem that a wrong code block to free
left memory blocks.
Bug: 62474732
Test: tests/run_stress_tests.sh with unmark VALGRIND in
apply_overlay.sh
Change-Id: I5fd2f51a342501ad5bc27b26d343893a822db6b5
Diffstat (limited to 'ufdt_node_pool.c')
-rw-r--r-- | ufdt_node_pool.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ufdt_node_pool.c b/ufdt_node_pool.c index 9f72b71..8b9c8a9 100644 --- a/ufdt_node_pool.c +++ b/ufdt_node_pool.c @@ -75,7 +75,7 @@ void ufdt_node_pool_destruct(struct ufdt_node_pool *pool) { if (block->alloc_entry_cnt != 0) is_leak = 1; struct ufdt_node_pool_block_header *next_block = block->next_block; - if (!block->first_free_entry) dto_free(block); + dto_free(block); block = next_block; } |