diff --git a/security/apparmor/domain.c b/security/apparmor/domain.c index bdf9e4cefe25..b9d5b3459705 100644 --- a/security/apparmor/domain.c +++ b/security/apparmor/domain.c @@ -1338,6 +1338,7 @@ int aa_change_profile(const char *fqname, int flags) ctx->nnp = aa_get_label(label); if (!fqname || !*fqname) { + aa_put_label(label); AA_DEBUG("no profile name"); return -EINVAL; } @@ -1356,8 +1357,6 @@ int aa_change_profile(const char *fqname, int flags) op = OP_CHANGE_PROFILE; } - label = aa_get_current_label(); - if (*fqname == '&') { stack = true; /* don't have label_parse() do stacking */