Fix issue with use of incorrect index in group list
If a group is not found there is a mismatch with group count
and actual number of groups in the list leading to some
groups not getting set correctly.
CRs-Fixed: 2303952
Change-Id: Iafb3aa4e90a79b511f3d36e42583e013fd05391b
diff --git a/utils/loc_cfg.cpp b/utils/loc_cfg.cpp
index 4c3bc58..d319fb4 100644
--- a/utils/loc_cfg.cpp
+++ b/utils/loc_cfg.cpp
@@ -835,11 +835,9 @@
for(i=0; i<ngroups; i++) {
struct group* grp = getgrnam(split_strings[i]);
if (grp) {
- child_proc[j].group_list[i] = grp->gr_gid;
+ child_proc[j].group_list[child_proc[j].num_groups] = grp->gr_gid;
child_proc[j].num_groups++;
- LOC_LOGD("%s:%d]:Group %s = %d matches child_group: %d\n",
- __func__, __LINE__, split_strings[i],
- grp->gr_gid,child_proc[j].group_list[i]);
+ LOC_LOGd("Group %s = %d", split_strings[i], grp->gr_gid);
}
}