summaryrefslogtreecommitdiff
path: root/sys/security/mac/mac_sysv_sem.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/security/mac/mac_sysv_sem.c')
-rw-r--r--sys/security/mac/mac_sysv_sem.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/security/mac/mac_sysv_sem.c b/sys/security/mac/mac_sysv_sem.c
index 5f7c4f9d158ca..94a110777c208 100644
--- a/sys/security/mac/mac_sysv_sem.c
+++ b/sys/security/mac/mac_sysv_sem.c
@@ -70,7 +70,10 @@ void
mac_sysvsem_init(struct semid_kernel *semakptr)
{
- semakptr->label = mac_sysv_sem_label_alloc();
+ if (mac_labeled & MPC_OBJECT_SYSVSEM)
+ semakptr->label = mac_sysv_sem_label_alloc();
+ else
+ semakptr->label = NULL;
}
static void
@@ -85,8 +88,10 @@ void
mac_sysvsem_destroy(struct semid_kernel *semakptr)
{
- mac_sysv_sem_label_free(semakptr->label);
- semakptr->label = NULL;
+ if (semakptr->label != NULL) {
+ mac_sysv_sem_label_free(semakptr->label);
+ semakptr->label = NULL;
+ }
}
void