Skip to main content

xmlXPathFreeNodeSetList

Function xmlXPathFreeNodeSetList 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn xmlXPathFreeNodeSetList( obj: *mut _xmlXPathObject, )
Expand description

void xmlXPathFreeNodeSetList(xmlXPathObjectPtr obj) โ€” frees an XPath result object WITHOUT its node set.

UPSTREAM-PARITY (xpath.c): upstream xmlXPathFreeNodeSetList frees only the object (xmlFree(obj)) โ€” the nodesetval belongs to the consumer (nokogiri wraps it into a Ruby NodeSet and must keep it alive). The candidate previously freed the nodeTab + set too, leaving the wrapped nodeset dangling (nokogiri xpath("/root/node()") use-after-free, NodeSet#[] SIGSEGV).

ยงSAFETY

  • obj must be a valid object pointer or NULL.