The previous fix did not address the conversion from 64bit to 32bit.
CID 165232
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
env = getenv("UID_WRAPPER_INITIAL_GROUPS_COUNT");
if (env != NULL && env[0] != '\0') {
- ngroups = strtol(env, (char **)NULL, 10);
+ char *endp = NULL;
+ long n;
+
+ n = strtol(env, &endp, 10);
+ if (env == endp) {
+ ngroups = 0;
+ } else if (n > 0 && n < GROUP_MAX_COUNT) {
+ ngroups = (int)n;
+ }
unsetenv("UID_WRAPPER_INITIAL_GROUPS_COUNT");
}
- if (ngroups > 0 && ngroups < GROUP_MAX_COUNT) {
+ if (ngroups > 0) {
int i = 0;
id->ngroups = 0;