From dc7deb98c3f11d2b01dc28a846f18f416a2c50e7 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Wed, 22 Feb 2006 13:18:56 +0000 Subject: [PATCH] backport VG_(getgroups) fix (v5445) git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_1_BRANCH@5673 --- coregrind/m_libcproc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/coregrind/m_libcproc.c b/coregrind/m_libcproc.c index c851fc2c0a..e329ace4df 100644 --- a/coregrind/m_libcproc.c +++ b/coregrind/m_libcproc.c @@ -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) SysRes sres; -- 2.47.2