ubifs: fix possible dereference after free
authorKonstantin Meskhidze <konstantin.meskhidze@huawei.com>
Tue, 5 Sep 2023 10:12:22 +0000 (18:12 +0800)
committerRichard Weinberger <richard@nod.at>
Sat, 28 Oct 2023 21:18:12 +0000 (23:18 +0200)
'old_idx' could be dereferenced after free via 'rb_link_node' function
call.

Fixes: b5fda08ef213 ("ubifs: Fix memleak when insert_old_idx() failed")
Co-developed-by: Ivanov Mikhail <ivanov.mikhail1@huawei-partners.com>
Signed-off-by: Konstantin Meskhidze <konstantin.meskhidze@huawei.com>
Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
fs/ubifs/tnc.c

index 6b7d95b65f4b635709f31d0c37c2e1e9a45cba48..f4728e65d1bda4d4838b4373de92df76f3c2a4ae 100644 (file)
@@ -65,6 +65,7 @@ static void do_insert_old_idx(struct ubifs_info *c,
                else {
                        ubifs_err(c, "old idx added twice!");
                        kfree(old_idx);
+                       return;
                }
        }
        rb_link_node(&old_idx->rb, parent, p);