From cda8623468750c1a6ac403290a838c589cd759b3 Mon Sep 17 00:00:00 2001 From: Valeriy Van Date: Mon, 2 Dec 2019 15:02:54 +0100 Subject: Fixing possible null pointer dereference --- src/pugixml.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/pugixml.cpp b/src/pugixml.cpp index 1f08b10..80fe605 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -6264,15 +6264,17 @@ namespace pugi return found.parent().first_element_by_path(next_segment, delimiter); else { - for (xml_node_struct* j = found._root->first_child; j; j = j->next_sibling) - { - if (j->name && impl::strequalrange(j->name, path_segment, static_cast(path_segment_end - path_segment))) - { - xml_node subsearch = xml_node(j).first_element_by_path(next_segment, delimiter); - - if (subsearch) return subsearch; - } - } + if (found._root) { + for (xml_node_struct* j = found._root->first_child; j; j = j->next_sibling) + { + if (j->name && impl::strequalrange(j->name, path_segment, static_cast(path_segment_end - path_segment))) + { + xml_node subsearch = xml_node(j).first_element_by_path(next_segment, delimiter); + + if (subsearch) return subsearch; + } + } + } return xml_node(); } -- cgit v1.1