Demonstration of memory leak in Clarion CPXML procedure - PTSS#40365

In case you are curious:

CPXML appears to have a memory leak in the toDOM:AppendCol procedure. Below is a program that demonstrates this.

Calling GroupToDom with the default for DOMStyle appears to be fine (no memory leak):

Doc &= GroupToDOM(myGroup, 'root', 'label')

image

However, when you change the DOMStyle you very quickly see the memory usage spike:

Doc &= GroupToDOM(myGroup, 'root', 'label', DOMStyle:ADO_NET)

image

Example program:

e class="onebox githubgist" data-onebox-src="https://gist.github.com/fushnisoft/74f5ff65c2e9cb1e1551">
gist.github.com

https://gist.github.com/fushnisoft/74f5ff65c2e9cb1e1551

PTSS40365.clw
  PROGRAM

  MAP
  END
  
  Include('cpxml.inc'),ONCE
  Include('xmlclass.inc'),ONCE

myGroup   GROUP
someField   CSTRING(255)
This file has been truncated. show original
PTSS40365.cwproj
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProjectGuid>{E3AA0E6D-DED3-4252-8344-955DE913709B}</ProjectGuid>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">Win32</Platform>
    <OutputType>Exe</OutputType>
    <RootNamespace>PTSS40365</RootNamespace>
    <AssemblyName>PTSS40365</AssemblyName>
    <OutputName>PTSS40365</OutputName>
    <stack_size>16384</stack_size>
This file has been truncated. show original

Possible fix: