From 57fc2b58f362a361188856ed73dbb7391df66938 Mon Sep 17 00:00:00 2001 From: Aleksa Vuckovic Date: Sun, 4 Dec 2022 20:12:57 +0100 Subject: kheap_free bug fixed --- kernel/src/fs/ext2.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'kernel/src/fs/ext2.c') diff --git a/kernel/src/fs/ext2.c b/kernel/src/fs/ext2.c index 2f003ef..751cf64 100644 --- a/kernel/src/fs/ext2.c +++ b/kernel/src/fs/ext2.c @@ -225,6 +225,13 @@ uint32_t path_to_inode(const char* path) curr_path = list_prev_entry(curr_path, list); } + path_t* pos; + list_for_each_entry_del(pos, (÷d_path->list), list) { + kfree(pos->name); + kfree(pos); + } + kfree(divided_path); + return inode; } @@ -240,6 +247,12 @@ void ls(uint32_t inode) list_for_each_entry(pos, (&dir->list), list) { printf("inode: %d, name: %s\n", pos->ext2_dentry.inode, pos->ext2_dentry.name); } + + list_for_each_entry_del(pos, (&dir->list), list) { + kfree(pos->ext2_dentry.name); + kfree(pos); + } + kfree(dir); } void print(uint32_t inode) -- cgit v1.2.3