• Show log

    Commit

  • Hash : 40f58521
    Author : Nick Wellnhofer
    Date : 2017-05-26T20:16:35

    Fix axis traversal from attribute and namespace nodes
    
    When traversing the "preceding" axis from an attribute node, we must
    first go up to the attribute's containing element. Otherwise, text
    children of other attributes could be returned. This made it possible
    to hit a code path in xmlXPathNextAncestor which contained another bug:
    The attribute node was initialized with the context node instead of the
    current node. Normally, this code path is only hit via
    xmlXPathNextAncestorOrSelf in which case the current and context node
    are the same.
    
    The combination of the two bugs could result in an infinite loop, found
    with libFuzzer.
    
    Traversing the "following" and the "preceding" axis from namespace nodes
    should be handled similarly. This wasn't supported at all previously.