static graph_t *G;
int main(int argc, char** argv)
{
char *graph = "digraph G {nA;nB;nA -> B;n}";
dotneato_initialize(argc,argv);
while ( 1 )
{
G = agmemread(graph);
dot_layout(G);
dotneato_write(G);
dot_cleanup(G);
agclose(G);
}
dotneato_terminate();
}
Comments: [ellson] I can reproduce a 2-byte-per-iteration leak with 1.8.1 on Linux.
The leak is dependent on the form of the graph string in some unclear way. "digraph G {A->B}" does not leak, but "digraph G {A;B;A->B}" does.
Running under dmalloc shows the 2-byte leak, but it can't identify the function (meaning the function wasn't in code built with dmalloc.h) and the return address is invalid.
1015214958: 563: not freed: '0x80e5748|s3' (1 bytes) from 'ra=0x401b21f0'
1015214958: 563: not freed: '0x80e5a08|s1' (1 bytes) from 'ra=0x401b21f0'