summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/grp.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/grp.cc')
-rw-r--r--winsup/cygwin/grp.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/winsup/cygwin/grp.cc b/winsup/cygwin/grp.cc
index 5c35be590..e9e657d88 100644
--- a/winsup/cygwin/grp.cc
+++ b/winsup/cygwin/grp.cc
@@ -365,10 +365,9 @@ internal_getgroups (int gidsetsize, __gid32_t *grouplist, cygpsid * srchsid)
if (GetTokenInformation (hToken, TokenGroups, NULL, 0, &size)
|| GetLastError () == ERROR_INSUFFICIENT_BUFFER)
{
- char buf[size];
- TOKEN_GROUPS *groups = (TOKEN_GROUPS *) buf;
+ PTOKEN_GROUPS groups = (PTOKEN_GROUPS) alloca (size);
- if (GetTokenInformation (hToken, TokenGroups, buf, size, &size))
+ if (GetTokenInformation (hToken, TokenGroups, groups, size, &size))
{
cygsid sid;