aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2023-08-09 17:11:39 +0200
committerRichard Henderson <richard.henderson@linaro.org>2023-08-09 09:26:32 -0700
commit47d1e982318a0d97c557ce349ea9e2b601554055 (patch)
tree5b3143896579e4335c9877a9f4ed83031aea34b8 /util
parent1b65895ddd9bb3898458ec622f5550173f9a8550 (diff)
downloadqemu-47d1e982318a0d97c557ce349ea9e2b601554055.zip
qemu-47d1e982318a0d97c557ce349ea9e2b601554055.tar.gz
qemu-47d1e982318a0d97c557ce349ea9e2b601554055.tar.bz2
util/interval-tree: Check root for null in interval_tree_iter_first
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") Message-Id: <ZNOsq6Z7t/eyIG/9@p100> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'util')
-rw-r--r--util/interval-tree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/util/interval-tree.c b/util/interval-tree.c
index f2866aa..5346518 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;
}