[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fix interval_tree_iter_first() to check root node value
From: |
Helge Deller |
Subject: |
Fix interval_tree_iter_first() to check root node value |
Date: |
Wed, 9 Aug 2023 17:11:39 +0200 |
Fix a crash in qemu-user when running
cat /proc/self/maps
in a chroot, where /proc isn't mounted.
The problem was introduced by commit 3ce3dd8ca965 ("util/selfmap:
Rewrite using qemu/interval-tree.h") where in open_self_maps_1() the
function read_self_maps() is called and which returns NULL if it can't
read the hosts /proc/self/maps file. Afterwards that NULL is fed into
interval_tree_iter_first() which doesn't check if the root node is NULL.
Fix it by adding a check if root is NULL and return NULL in that case.
Signed-off-by: Helge Deller <deller@gmx.de>
Fixes: 3ce3dd8ca965 ("util/selfmap: Rewrite using qemu/interval-tree.h")
diff --git a/util/interval-tree.c b/util/interval-tree.c
index f2866aa7d3..53465182e6 100644
--- a/util/interval-tree.c
+++ b/util/interval-tree.c
@@ -797,7 +797,7 @@ IntervalTreeNode *interval_tree_iter_first(IntervalTreeRoot
*root,
{
IntervalTreeNode *node, *leftmost;
- if (!root->rb_root.rb_node) {
+ if (!root || !root->rb_root.rb_node) {
return NULL;
}
[PATCH for-8.1 v10 05/14] linux-user: Use elf_et_dyn_base for ET_DYN with interpreter, Richard Henderson, 2023/08/07
[PATCH for-8.1 v10 10/14] util/selfmap: Rewrite using qemu/interval-tree.h, Richard Henderson, 2023/08/07
Re: [PATCH for-8.1 v10 10/14] util/selfmap: Rewrite using qemu/interval-tree.h, Ilya Leoshkevich, 2023/08/10
Re: [PATCH for-8.1 v10 10/14] util/selfmap: Rewrite using qemu/interval-tree.h, Helge Deller, 2023/08/10
Re: [PATCH for-8.1 v10 10/14] util/selfmap: Rewrite using qemu/interval-tree.h, Michael Tokarev, 2023/08/08
[PATCH for-8.1 v10 06/14] linux-user: Adjust initial brk when interpreter is close to executable, Richard Henderson, 2023/08/07
[PATCH for-8.1 v10 07/14] linux-user: Do not adjust image mapping for host page size, Richard Henderson, 2023/08/07