]> andersk Git - nss_nonlocal.git/blobdiff - nonlocal-group.c
Pass the right buffer size to _nss_nonlocal_getgrnam_r in get_local_group.
[nss_nonlocal.git] / nonlocal-group.c
index 9d2bfa040439a5db3d6945e79446a12a9f65d7d3..f2fdae9386ef33306f08fab4965a68526703271d 100644 (file)
@@ -152,7 +152,7 @@ get_local_group(const char *name, struct group *grp, char *buffer, size_t buflen
        if (fct.l == _nss_nonlocal_getgrnam_r)
            status = NSS_STATUS_NOTFOUND;
        else
-           status = DL_CALL_FCT(fct.l, (name, &gbuf, buf, buflen, errnop));
+           status = DL_CALL_FCT(fct.l, (name, &gbuf, buf, len, errnop));
        if (status == NSS_STATUS_TRYAGAIN && *errnop == ERANGE)
            break;
     } while (__nss_next(&nip, fct_name, &fct.ptr, status, 0) == 0);
@@ -473,7 +473,7 @@ _nss_nonlocal_initgroups_dyn(const char *user, gid_t group, long int *start,
                    if (newsize > limit)
                        newsize = limit;
                }
-               newgroups = realloc(*groupsp, *size * sizeof((*groupsp)[0]));
+               newgroups = realloc(*groupsp, newsize * sizeof((*groupsp)[0]));
                if (newgroups == NULL) {
                    *errnop = ENOMEM;
                    errno = old_errno;
This page took 0.285647 seconds and 4 git commands to generate.