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:26:03 +0000 (00:26 -0600)
commit29a616534a4da82646b0cae799f08a96e8e7528d
treee6ac6f809715a59cb8ee9d052d836bf5dd850bcd
parent8228af578e3ca7f7d846fda8e14e4aa93203b337
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