Я запускаю splint
на фрагменте кода C, и он дал мне следующее утверждение:
jmptable.c:34:5: Implicitly only storage vm->jumptable (type struct
jumptable_entry **) not released before assignment:
vm->jumptable = (struct jumptable_entry **)calloc(vm->jumptable_size + 1,
sizeof(struct jumptable_entry *))
A memory leak has been detected. Only-qualified storage is not released
before the last reference to it is lost. (Use -mustfreeonly to inhibit
warning)
Я понимаю, что splint хочет, чтобы я free
выделил память перед ее выделением с помощью calloc
, но поскольку это происходит в самой инициализации приложения, стоит ли мне об этом беспокоиться?
Изменить: так инициализируется vm-> jumptable
vm->jumptable = (struct jumptable_entry**) calloc(vm->jumptable_size + 1,
sizeof(struct jumptable_entry*));
vm->jumptable
. - person chux - Reinstate Monica   schedule 05.11.2013