The _node_has_attribute_substring() function is responsible for
handling foo[bar*=baz] selectors. It returns "match" by reference, but
there's a special case early on for the empty substring that did not
set *match to false. This could lead to it being used ininitialized by
the caller.