Nézd, ha nem most mondtad volna, hogy laikus vagy a C-programozásban, akkor felhívtam volna a figyelmedet a ticket-ben is említett MC_PTR_FREE makróra (lib/util.h).
#define MC_PTR_FREE(ptr) do { g_free (ptr); (ptr) = NULL; } while (0)
Nyilván a `mc` fejlesztői is elfelejtették megkérdezni tőled, hogy miért teljesen fogalmatlan dolog pointereket kinullazni free utan.