util/interval-tree: Check root for null in interval_tree_iter_first
commit47d1e982318a0d97c557ce349ea9e2b601554055
authorHelge Deller <deller@gmx.de>
Wed, 9 Aug 2023 15:11:39 +0000 (9 17:11 +0200)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 9 Aug 2023 16:26:32 +0000 (9 09:26 -0700)
tree5b3143896579e4335c9877a9f4ed83031aea34b8
parent1b65895ddd9bb3898458ec622f5550173f9a8550
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>
util/interval-tree.c