IptcLog memory leak - solution included
Brought to you by:
dmoore
The following sequence of code leaks memory:
IptcLog* iptcLog = iptc_log_new();
iptc_log_free( iptcLog );
The problem is that iptc_log_free() does not release log->mem - only the IptcLog itself. This can be resolved by changing iptc_log_free() to:
void
iptc_log_free (IptcLog *log)
{
if (!log) return;
{
IptcMem *mem = log->mem;
iptc_mem_free (log->mem, log);
iptc_mem_unref (mem);
}
}