diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-12-27 09:03:53 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-12-27 09:03:53 +0000 |
commit | 766709000aca35c4851cdb9b84e78db52ed8290d (patch) | |
tree | b38a6e4b8a4c1ca551ae6e08f167c91fc9c922f8 /libc/inet/gai_strerror.c | |
parent | b000e6fce32974a2c6936f94b0e9795de63b10ae (diff) |
2005-12-15 Aubrey.Li <aubreylee@gmail.com> writes:
When I mounted nfs on my target, the kernel crashed. And I found it
was caused by stack overflow. When I digged into it. I found the
following issue.
In the file "./uClibc/libc/inet/rpc/auth_unix.c"
int max_nr_groups = sysconf (_SC_NGROUPS_MAX);
gid_t gids[max_nr_groups];
And, NGROUPS_MAX is defined in the file "./linux-2.6.x/include/linux/limits.h"
#define NGROUPS_MAX 65536 /* supplemental group IDs are available */
OK, here we can know max_nr_groups is assigned to 65536, that means a
huge matrix "gids[65536] is in the function **authunix_create_default**.
My method is doing it by malloc, the patch as follows.
Diffstat (limited to 'libc/inet/gai_strerror.c')
0 files changed, 0 insertions, 0 deletions