Date: Mon, 17 Mar 2008 07:05:38 GMT From: Zhouyi ZHOU <zhouzhouyi@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 137895 for review Message-ID: <200803170705.m2H75cw4029615@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=137895 Change 137895 by zhouzhouyi@zhouzhouyi_mactest on 2008/03/17 07:05:15 Correct some memory leak problems of MAC_TEST log mechanism Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#21 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#21 (text+ko) ==== @@ -116,6 +116,7 @@ SYSCTL_NODE(_security_mac_test, OID_AUTO, counter, CTLFLAG_RW, 0, "TrustedBSD mac_test counters controls"); + #define LOG_DECL \ char *buffer; \ char *currentchar; \ @@ -835,9 +836,11 @@ * didn't have label storage allocated for them. Handle this * gracefully. */ - if (label == NULL) + if (label == NULL) { + if (!badmem) + free(buffer, M_MAC_TEST_LOG); return; - + } LABEL_DESTROY(label, MAGIC_MBUF); COUNTER_INC(mbuf_destroy_label); } @@ -2785,8 +2788,10 @@ LOG_DECL if (attrnamespace == EXTATTR_NAMESPACE_SYSTEM && !strcmp(name, "mac_test") - && uio->uio_iov->iov_len && !strncmp(uio->uio_iov->iov_base, "mac_test", 8)) - LABEL_INIT(vplabel, MAGIC_MACTESTLOG); + && uio->uio_iov->iov_len && !strncmp(uio->uio_iov->iov_base, "mac_test", 8)){ + LABEL_INIT(vplabel, MAGIC_MACTESTLOG); + COUNTER_INC(vnode_check_setextattr); + } else { LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(vplabel, MAGIC_VNODE); @@ -2892,8 +2897,10 @@ { LOG_DECL - if (vplabel != NULL && SLOT(vplabel) == MAGIC_MACTESTLOG) - ; + if (vplabel != NULL && SLOT(vplabel) == MAGIC_MACTESTLOG){ + if (!badmem) + free(buffer, M_MAC_TEST_LOG); + } else { LABEL_CHECK(active_cred->cr_label, MAGIC_CRED); if (file_cred != NULL)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803170705.m2H75cw4029615>