libctf, decl: avoid leaks of the formatted string on error
authorNick Alcock <nick.alcock@oracle.com>
Tue, 9 Jun 2020 09:45:07 +0000 (10:45 +0100)
committerNick Alcock <nick.alcock@oracle.com>
Wed, 22 Jul 2020 17:02:17 +0000 (18:02 +0100)
commitb255b35feb80ecf096825395e01bccd34ee02b2b
tree851eeafd9c270c6f2435edf28e732893c606d0d6
parentc6e9a1e576ce4d948393b29e77b37e4ad934ee8f
libctf, decl: avoid leaks of the formatted string on error

ctf_decl_sprintf builds up a formatted string in the ctf_decl_t's
cd_buf, but then on error this is hardly ever freed: we assume that
ctf_decl_fini frees it, but it leaks it instead.

Make it free it like any decent ADT should.

libctf/
* ctf-decl.c (ctf_decl_fini): Free the cd_buf.
(ctf_decl_buf): Once it escapes, don't try to free it later.
libctf/ChangeLog
libctf/ctf-decl.c