VG_(getgroups) fix (Shinichi Noda)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5445
This commit is contained in:
Julian Seward 2005-12-27 02:08:03 +00:00
parent 9ce31fccaf
commit 6a6bf6bff5
2 changed files with 6 additions and 5 deletions

View File

@ -400,17 +400,17 @@ Int VG_(getgroups)( Int size, UInt* list )
# if defined(VGP_x86_linux) || defined(VGP_ppc32_linux)
Int i;
SysRes sres;
UShort list16[32];
UShort list16[64];
if (size < 0) return -1;
if (size > 32) size = 32;
if (size > 64) size = 64;
sres = VG_(do_syscall2)(__NR_getgroups, size, (Addr)list16);
if (sres.isError)
return -1;
if (sres.val != size)
if (sres.val > size)
return -1;
for (i = 0; i < size; i++)
for (i = 0; i < sres.val; i++)
list[i] = (UInt)list16[i];
return size;
return sres.val;
# elif defined(VGP_amd64_linux) || defined(VGP_ppc64_linux)
SysRes sres;

View File

@ -31,3 +31,4 @@ v5378/80 v5379/81 n-i-bz Clarified leak checker output message
v5382 pending n-i-bz AshleyP's --gen-suppressions output fix
v5384 wontfix 117096 Weird errors when --log-fd= has invalid value
v5396 pending n-i-bz cg_annotate's --sort option broken
v5445 pending n-i-bz VG_(getgroups) fix (Shinichi Noda)