This function is causing a memleak because it is necessary to clean
up after usage.
This fixes at least:
37 (32 direct, 5 indirect) bytes in 1 blocks are definitely lost in loss record 104 of 394
at 0x4C29C0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x66D0C7B: ??? (in /usr/lib/x86_64-linux-gnu/libjansson.so.4.7.0)
by 0x943584: LiveDeviceIfaceList (util-device.c:264)
by 0x910889: UnixCommandExecute (unix-manager.c:486)
by 0x910D7E: UnixCommandRun (unix-manager.c:545)
by 0x911193: UnixMain (unix-manager.c:593)
by 0x913CC7: UnixManager (unix-manager.c:961)
by 0x907753: TmThreadsManagement (tm-threads.c:600)
by 0x68DE283: start_thread (pthread_create.c:333)
by 0x80A6A4C: clone (in /lib/x86_64-linux-gnu/libc-2.21.so)
return TM_ECODE_FAILED;
}
TAILQ_FOREACH(pd, &live_devices, next) {
- json_array_append(jarray, json_string(pd->dev));
+ json_array_append_new(jarray, json_string(pd->dev));
i++;
}
double percent = (long double)summary[i].ticks /
(long double)total_ticks * 100;
json_object_set_new(jsm, "percent", json_integer(percent));
- json_array_append(jsa, jsm);
+ json_array_append_new(jsa, jsm);
}
}
json_object_set_new(js, "rules", jsa);