diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog index 7cd59bff8..6917ab58d 100644 --- a/winsup/utils/ChangeLog +++ b/winsup/utils/ChangeLog @@ -1,3 +1,8 @@ +2008-08-18 Corinna Vinschen + + * mkgroup.c (enum_local_groups): Use NetLocalGroupGetInfo to find out + if a group exists, rather than just allocating a buffer and going ahead. + 2008-08-18 Corinna Vinschen * mkgroup.c (enum_local_groups): Call print_win_error with GetLastError diff --git a/winsup/utils/mkgroup.c b/winsup/utils/mkgroup.c index 6854f09d1..700363ee9 100644 --- a/winsup/utils/mkgroup.c +++ b/winsup/utils/mkgroup.c @@ -348,10 +348,9 @@ enum_local_groups (BOOL domain, domlist_t *dom_or_machine, const char *sep, if (disp_groupname != NULL) { mbstowcs (gname, disp_groupname, GNLEN + 1); - rc = NetApiBufferAllocate (sizeof (LOCALGROUP_INFO_0), - (void *) &buffer); - buffer[0].lgrpi0_name = gname; - entriesread = 1; + rc = NetLocalGroupGetInfo (servername, gname, 0, (void *) &buffer); + if (rc == ERROR_SUCCESS) + entriesread = 1; } else rc = NetLocalGroupEnum (servername, 0, (void *) &buffer,