Hey guys, This patch fixes a memory problem. munmap must deallocate the exact number of bytes in a UID/GID array.
Index: idvec-auth.c =================================================================== RCS file: /cvsroot/hurd/hurd/libshouldbeinlibc/idvec-auth.c,v retrieving revision 1.8 diff -u -r1.8 idvec-auth.c --- idvec-auth.c 8 May 2002 09:24:12 -0000 1.8 +++ idvec-auth.c 17 Jul 2008 15:54:49 -0000 @@ -70,13 +70,13 @@ /* Deallocate any out-of-line memory we got back. */ if (_eff_uids != eff_uid_buf) - munmap ((caddr_t) _eff_uids, num_eff_uids); + munmap ((caddr_t) _eff_uids, num_eff_uids * sizeof (uid_t)); if (_avail_uids != avail_uid_buf) - munmap ((caddr_t) _avail_uids, num_avail_uids); + munmap ((caddr_t) _avail_uids, num_avail_uids * sizeof (uid_t)); if (_eff_gids != eff_gid_buf) - munmap ((caddr_t) _eff_gids, num_eff_gids); + munmap ((caddr_t) _eff_gids, num_eff_gids * sizeof (gid_t)); if (_avail_gids != avail_gid_buf) - munmap ((caddr_t) _avail_gids, num_avail_gids); + munmap ((caddr_t) _avail_gids, num_avail_gids * sizeof (gid_t)); return err; }
Index: idvec-auth.c =================================================================== RCS file: /cvsroot/hurd/hurd/libshouldbeinlibc/idvec-auth.c,v retrieving revision 1.8 diff -u -r1.8 idvec-auth.c --- idvec-auth.c 8 May 2002 09:24:12 -0000 1.8 +++ idvec-auth.c 17 Jul 2008 15:54:49 -0000 @@ -70,13 +70,13 @@ /* Deallocate any out-of-line memory we got back. */ if (_eff_uids != eff_uid_buf) - munmap ((caddr_t) _eff_uids, num_eff_uids); + munmap ((caddr_t) _eff_uids, num_eff_uids * sizeof (uid_t)); if (_avail_uids != avail_uid_buf) - munmap ((caddr_t) _avail_uids, num_avail_uids); + munmap ((caddr_t) _avail_uids, num_avail_uids * sizeof (uid_t)); if (_eff_gids != eff_gid_buf) - munmap ((caddr_t) _eff_gids, num_eff_gids); + munmap ((caddr_t) _eff_gids, num_eff_gids * sizeof (gid_t)); if (_avail_gids != avail_gid_buf) - munmap ((caddr_t) _avail_gids, num_avail_gids); + munmap ((caddr_t) _avail_gids, num_avail_gids * sizeof (gid_t)); return err; }