mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
Bug 1071: Add NULL check in get_dom_node_list_index
If the parent parameter of get_dom_node_list_index referred to a node that did not have children, then get_dom_node_list called by it could return the address of a null pointer, and get_dom_node_list_index would then pass that null pointer to get_dom_node_list_pos, which would crash. That would be the same kind of crash as the one in get_dom_node_child. It never happened in practice though: because all calls are in the form get_dom_node_list_index(node->parent, node), the list must contain at least the given node, and the pointer cannot be null. The documentation of get_dom_node_list_index allows arbitrary nodes as arguments however, so it's best to add a check.
This commit is contained in:
parent
0c1a27ee99
commit
b7f45ca80b
@ -247,7 +247,7 @@ get_dom_node_list_index(struct dom_node *parent, struct dom_node *node)
|
||||
{
|
||||
struct dom_node_list **list = get_dom_node_list(parent, node);
|
||||
|
||||
return list ? get_dom_node_list_pos(*list, node) : -1;
|
||||
return (list && *list) ? get_dom_node_list_pos(*list, node) : -1;
|
||||
}
|
||||
|
||||
struct dom_node *
|
||||
|
Loading…
Reference in New Issue
Block a user