summaryrefslogtreecommitdiff
path: root/usr/src/lib/libbsm/common
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libbsm/common')
-rw-r--r--usr/src/lib/libbsm/common/adt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr/src/lib/libbsm/common/adt.c b/usr/src/lib/libbsm/common/adt.c
index 0fa5428f89..8c7b299e32 100644
--- a/usr/src/lib/libbsm/common/adt.c
+++ b/usr/src/lib/libbsm/common/adt.c
@@ -204,11 +204,12 @@ adt_get_mask_from_user(uid_t uid, au_mask_t *mask)
free(pwd_buff);
return (-1);
}
- free(pwd_buff);
if (au_user_mask(pwd.pw_name, mask)) {
+ free(pwd_buff);
errno = EFAULT; /* undetermined failure */
return (-1);
}
+ free(pwd_buff);
} else if (auditon(A_GETKMASK, (caddr_t)mask, sizeof (*mask)) == -1) {
return (-1);
}