summaryrefslogtreecommitdiff
path: root/ufdt_node_pool.c
diff options
context:
space:
mode:
authorSzuWei Lin <szuweilin@google.com>2017-06-09 16:36:36 +0800
committerSzuWei Lin <szuweilin@google.com>2017-06-15 10:50:12 +0800
commit79e48a0a0525c3dc7a58b89789e15aea5f396254 (patch)
tree18b17fb424e1d19319c6487bd29399ed5bf5d111 /ufdt_node_pool.c
parent79ba2aefbbc7fcf8f8b60b5efab417e5684b13b6 (diff)
downloadlibufdt-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.c2
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;
}