output/text: Fix memory leak when receiving SR_DF_END
authorAlexandru Gagniuc <mr.nuke.me@gmail.com>
Thu, 3 Jan 2013 08:25:23 +0000 (02:25 -0600)
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>
Tue, 8 Jan 2013 06:33:59 +0000 (00:33 -0600)
commitb10aef8587f02a8400ec91480254088cd14d97d2
treebb9a16bedbbf3da3d2cdc7dc9a70fb4a394d89ad
parent0eadf3aeeae7e2112c3b2b11d7cadaa5477c4cea
output/text: Fix memory leak when receiving SR_DF_END

The modules in output/text like to cleanup when receiving a SR_DF_END packet.
o->internal was cleaned up, but the malloc'd members of the module context were
not.

To make it easier to match the malloc and free calls, factor put the cleanup
in a NULL-tolerant context_free() function, and use context_free() in error
paths, instead of manual  g_free() calls.

Test with:
$ G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind --leak-check=full \
 sigrok-cli --driver=demo --samples 8 -O [text_module] -l 5

where [text_module] can be bits, hex, or ascii

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
output/text/text.c