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 02:29:41 +0000 (20:29 -0600)
commitdadc08202502634c8aa9f096f4bd9eacabc523f1
tree14f49066a384a524b75e1b24ab540521c62b743b
parent1e698c796c470947a3a34e0785141e275249e024
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