Even after fixing per-controller leaks, ASan still reported an 8 byte
leak on exit:
Direct leak of 8 byte(s) in 1 object(s) allocated from:
#0 0x... in __interceptor_realloc
#1 create_cgrp (<libcgroup-source>/src/tools/cgget.c:76)
main() freed each struct cgroup * in cgrp_list but never released the
pointer array itself, so the final realloc() stayed live. After freeing
the entries, free cgrp_list too. This fix the sanitizer warning.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
err:
for (i = 0; i < cgrp_list_len; i++)
cgroup_free(&(cgrp_list[i]));
+ free(cgrp_list);
return ret;
}