Fix Uninitialized pointer read, reported by Coverity Tool:
CID 307779 (#2 of 2): Uninitialized pointer read (UNINIT)22.
uninit_use_in_call: Using uninitialized value src_cgroup when calling
cgroup_free.
In main(), src_cgrp points to a valid struct cgroup only when the
user calls cgxset using --copy-from flag, Coverity warns about the
freeing src_cgrp, which is uninitialized in the error path. This patch
initializes converted_src_cgroup, src_cgroup and cgroup uninitialized
pointers and checks is src_cgrp is valid pointer before passing it to
cgroup_free()
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
(cherry picked from commit
94ba8b65f8b3424232cf3fea5a06fbbfb921789a)
int nv_number = 0;
int nv_max = 0;
- struct cgroup *converted_src_cgroup;
+ struct cgroup *converted_src_cgroup = NULL;
char src_cg_path[FILENAME_MAX] = "\0";
- struct cgroup *src_cgroup;
- struct cgroup *cgroup;
+ struct cgroup *src_cgroup = NULL;
+ struct cgroup *cgroup = NULL;
enum cg_version_t src_version = CGROUP_UNK;
bool ignore_unmappable = false;
cgroup_free_err:
if (cgroup)
cgroup_free(&cgroup);
- cgroup_free(&src_cgroup);
+ if (src_cgroup)
+ cgroup_free(&src_cgroup);
err:
free(name_value);