Skip to content

Commit

Permalink
Net/Security: fix memory leaks from security_secid_to_secctx()
Browse files Browse the repository at this point in the history
The security_secid_to_secctx() function returns memory that must be freed
by a call to security_release_secctx() which was not always happening.  This
patch fixes two of these problems (all that I could find in the kernel source
at present).

Signed-off-by: Paul Moore <paul.moore@hp.com>
Acked-by:  Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>
  • Loading branch information
Paul Moore authored and James Morris committed Aug 2, 2007
1 parent 088999e commit e6e0871
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
4 changes: 3 additions & 1 deletion net/netlabel/netlabel_user.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,10 @@ struct audit_buffer *netlbl_audit_start_common(int type,
if (audit_info->secid != 0 &&
security_secid_to_secctx(audit_info->secid,
&secctx,
&secctx_len) == 0)
&secctx_len) == 0) {
audit_log_format(audit_buf, " subj=%s", secctx);
security_release_secctx(secctx, secctx_len);
}

return audit_buf;
}
5 changes: 3 additions & 2 deletions net/xfrm/xfrm_policy.c
Original file line number Diff line number Diff line change
Expand Up @@ -2195,9 +2195,10 @@ void xfrm_audit_log(uid_t auid, u32 sid, int type, int result,
}

if (sid != 0 &&
security_secid_to_secctx(sid, &secctx, &secctx_len) == 0)
security_secid_to_secctx(sid, &secctx, &secctx_len) == 0) {
audit_log_format(audit_buf, " subj=%s", secctx);
else
security_release_secctx(secctx, secctx_len);
} else
audit_log_task_context(audit_buf);

if (xp) {
Expand Down

0 comments on commit e6e0871

Please sign in to comment.