diff options
Diffstat (limited to 'packages/google-compute-engine-oslogin/src/nss/nss_oslogin.cc')
-rw-r--r-- | packages/google-compute-engine-oslogin/src/nss/nss_oslogin.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/packages/google-compute-engine-oslogin/src/nss/nss_oslogin.cc b/packages/google-compute-engine-oslogin/src/nss/nss_oslogin.cc index f928dcf..2a34c83 100644 --- a/packages/google-compute-engine-oslogin/src/nss/nss_oslogin.cc +++ b/packages/google-compute-engine-oslogin/src/nss/nss_oslogin.cc @@ -25,6 +25,7 @@ #include <sys/types.h> #include <syslog.h> #include <unistd.h> +#include <stdlib.h> #include <iostream> #include <sstream> @@ -147,7 +148,7 @@ enum nss_status _nss_oslogin_initgroups_dyn(const char *user, gid_t skipgroup, } gid_t *groups = *groupsp; - for (auto &group : grouplist) { + for (int i = 0; i < (int) grouplist.size(); i++) { // Resize the buffer if needed. if (*start == *size) { gid_t *newgroups; @@ -168,7 +169,7 @@ enum nss_status _nss_oslogin_initgroups_dyn(const char *user, gid_t skipgroup, *groupsp = groups = newgroups; *size = newsize; } - groups[(*start)++] = group.gid; + groups[(*start)++] = grouplist[i].gid; } return NSS_STATUS_SUCCESS; } |