- status: open --> open-works-for-me
Another, separate memory leak, and the modifications
necessary to remove it:
Inside of XpXSLT.inc, TXpXSLForEach.Execute on line
7240, if 'oNodes' (a TXpNodeList object) contains '0'
(zero) entries, the method EXIT's without free-ing
'oNodes' (if it DOES contain at least one entry, it
will be free'd correctly.
Fix - currently lines 7239 and 7240 look like this:
// --------------------------------- //
if oNodes.Length = 0 then {!!.55}
Exit; {!!.55}
// --------------------------------- //
Modify the file by adding an additional two lines:
// --------------------------------- //
if oNodes.Length = 0 then begin {!!.55}
oNodes.Free; // New: free the TXpNodeList
Exit; {!!.55}
end;
// --------------------------------- //
..which ensures the TXpNodeList object is correctly
free'd if the method exits prematurely