File glibc-getgroups-fortify.diff of Package glibc

Index: glibc/posix/bits/unistd.h
===================================================================
--- posix/bits/unistd.h	2007-10-16 14:58:46.000000000 +0200
+++ posix/bits/unistd.h	2008-09-18 11:38:25.000000000 +0200
@@ -270,7 +270,8 @@ __NTH (getgroups (int __size, __gid_t __
       if (!__builtin_constant_p (__size))
 	return __getgroups_chk (__size, __list, __bos (__list));
 
-      if (__size * sizeof (__gid_t) > __bos (__list))
+      if (__size > 0
+	  && __size * sizeof (__gid_t) > __bos (__list))
 	return __getgroups_chk_warn (__size, __list, __bos (__list));
     }
   return __getgroups_alias (__size, __list);
openSUSE Build Service is sponsored by