NGROUPS_MAX defined in limits.h is not the max number
of groups in the system, it the max number guaranteed.
Thus, if the system actually allows more, the test
case doesn't produce the expected failure.
The right number is obtained through the call to
sysconf(_SC_NGROUPS_MAX). The attached patch fixes that.