mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 05:27:44 +00:00
SOLARIS: fix for AFS_PAG_ONEGROUP_ENV for Solaris 11
Fix a bug introduced in commit aab1e71628e6a4ce68c5e59e2f815867438280d1 in which a pointer was incorrectly checked for a NULL value. Fixes a crash when a PAG is set on Solaris. # mdb unix.1 vmcore.1 > ::status ... panic message: BAD TRAP: type=e (#pf Page fault) rp=fffffffc802ba8f0 addr=0 occurred in module "afs" due to a NULL pointer dereference > ::stack pag_to_gidset+0x145() setpag+0xcc() AddPag+0x3a() afs_setpag+0x58() Afs_syscall+0x115() The crash occurs since gidslot is NULL during the assignment: *gidslot = pagvalue; Reviewed-on: https://gerrit.openafs.org/12508 Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> Tested-by: BuildBot <buildbot@rampaginggeek.com> (cherry picked from commit b146c2d54ff3bd99f2c4674eb88d5af417a194d7) Change-Id: Ia012d07a3dd063e759a4a50d38e37be710e96255 Reviewed-on: https://gerrit.openafs.org/12527 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Mark Vitale <mvitale@sinenomine.net> Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
This commit is contained in:
parent
3457b8965b
commit
e99fac0e4c
@ -107,7 +107,7 @@ pag_to_gidset(afs_uint32 pagvalue, gid_t *gidset, int *a_ngroups,
|
||||
}
|
||||
}
|
||||
|
||||
if (gidslot != NULL) {
|
||||
if (gidslot == NULL) {
|
||||
/* If we don't already have a PAG, grow the groups list by one, and put
|
||||
* our PAG in the new empty slot. */
|
||||
if ((sizeof(gidset[0])) * (ngroups + 1) > gidset_sz) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user