From 875a4abcc45eff5fe347622080ebe938010f5acb Mon Sep 17 00:00:00 2001 From: Paul Wernau Date: Mon, 15 Sep 2008 17:45:12 -0400 Subject: 6747227 c2_bsm/kernel audit_pf_policy() may leak zone holds --- usr/src/uts/common/c2/audit.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'usr/src') diff --git a/usr/src/uts/common/c2/audit.c b/usr/src/uts/common/c2/audit.c index af09cd5f2d..cb459a8bca 100644 --- a/usr/src/uts/common/c2/audit.c +++ b/usr/src/uts/common/c2/audit.c @@ -2390,12 +2390,15 @@ audit_pf_policy(int cmd, cred_t *cred, netstack_t *ns, char *tun, nszone = zone_find_by_id(netstackid_to_zoneid( ns->netstack_stackid)); - if (strncmp(cred->cr_zone->zone_name, nszone->zone_name, - ZONENAME_MAX) != 0) { - token_t *ztoken; + if (nszone != NULL) { + if (strncmp(cred->cr_zone->zone_name, nszone->zone_name, + ZONENAME_MAX) != 0) { + token_t *ztoken; - ztoken = au_to_zonename(0, nszone); - au_write((caddr_t *)&ad, ztoken); + ztoken = au_to_zonename(0, nszone); + au_write((caddr_t *)&ad, ztoken); + } + zone_rele(nszone); } if (tun != NULL) { -- cgit v1.2.3