Fix double free warning, reported by Coverity tool:
CID 258297 (#1 of 1): Double free (USE_AFTER_FREE). double_free:
Calling closedir frees pointer dir which has already been freed.
As per the man page, the closedir(), closes the directory stream
associated with the dirp, but is ambiguous about if dirp is set to NULL
or not. Coverity answers that with the above report, that dirp is not
NULL and hence the double free.
Fixes: fea1ab8b45d7 ("tools/cgget: fix coverity warning about resource leak")
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
(cherry picked from commit
703bbb8554ce882eb461e16c389d20a356f095de)
continue;
ret = cgroup_fill_cgc(ctrl_dir, cg, cgc, i);
- if (ret == ECGFAIL) {
- closedir(dir);
+ if (ret == ECGFAIL)
goto out;
- }
if (cgc->index > 0) {
cgc->values[cgc->index - 1]->dirty = false;