The CLibXpathContext evaluate methods contain potential memory leaks. Specifically, if evaluation succeeds but the result type is not the required type, the evaluated object memory will not be freed.
The CLibXpathContext evaluate methods use the incorrect path value when throwing exceptions. The currently empty context path, which is not the path being evaluated, is used.
The CEsdlCustomTransformChoose use of the xpath context evaluate methods contain memory leaks. IException instances thrown from the evaluate methods are caught by a generic handler and leaked. A side effect of this is that the actual failure reason, contained in the exception, is not available to be logged.