From 421fdf2f64e2cbea5ec6ee1ccd2aebd820bb5eea Mon Sep 17 00:00:00 2001 From: xtraeme Date: Sun, 6 Aug 2006 18:21:32 +0000 Subject: Free freq_names if k[78]pnow_current_state is NULL, pointed out by cube. --- sys/arch/amd64/amd64/powernow_k8.c | 5 +++-- sys/arch/i386/i386/powernow_k7.c | 8 ++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sys/arch/amd64/amd64/powernow_k8.c b/sys/arch/amd64/amd64/powernow_k8.c index a2ae958bce9..90b7a6244ea 100644 --- a/sys/arch/amd64/amd64/powernow_k8.c +++ b/sys/arch/amd64/amd64/powernow_k8.c @@ -1,4 +1,4 @@ -/* $NetBSD: powernow_k8.c,v 1.1 2006/08/06 15:37:21 xtraeme Exp $ */ +/* $NetBSD: powernow_k8.c,v 1.2 2006/08/06 18:21:32 xtraeme Exp $ */ /* $OpenBSD: powernow-k8.c,v 1.8 2006/06/16 05:58:50 gwk Exp $ */ /*- @@ -89,7 +89,7 @@ /* AMD POWERNOW K8 driver */ #include -__KERNEL_RCSID(0, "$NetBSD: powernow_k8.c,v 1.1 2006/08/06 15:37:21 xtraeme Exp $"); +__KERNEL_RCSID(0, "$NetBSD: powernow_k8.c,v 1.2 2006/08/06 18:21:32 xtraeme Exp $"); #include #include @@ -420,6 +420,7 @@ k8_powernow_init(void) if (k8pnow_current_state == NULL) { free(cstate, M_DEVBUF); + free(freq_names, M_SYSCTLDATA); return; } diff --git a/sys/arch/i386/i386/powernow_k7.c b/sys/arch/i386/i386/powernow_k7.c index 94c77b6bc56..77381af12e9 100644 --- a/sys/arch/i386/i386/powernow_k7.c +++ b/sys/arch/i386/i386/powernow_k7.c @@ -1,4 +1,4 @@ -/* $NetBSD: powernow_k7.c,v 1.10 2006/08/06 16:05:07 xtraeme Exp $ */ +/* $NetBSD: powernow_k7.c,v 1.11 2006/08/06 18:21:32 xtraeme Exp $ */ /* $OpenBSD: powernow-k7.c,v 1.24 2006/06/16 05:58:50 gwk Exp $ */ /*- @@ -89,7 +89,7 @@ /* AMD POWERNOW K7 driver */ #include -__KERNEL_RCSID(0, "$NetBSD: powernow_k7.c,v 1.10 2006/08/06 16:05:07 xtraeme Exp $"); +__KERNEL_RCSID(0, "$NetBSD: powernow_k7.c,v 1.11 2006/08/06 18:21:32 xtraeme Exp $"); #include #include @@ -382,6 +382,7 @@ k7_powernow_init(void) } if (k7pnow_current_state == NULL) { + free(freq_names, M_SYSCTLDATA); free(cstate, M_DEVBUF); return; } @@ -452,5 +453,8 @@ k7_powernow_destroy(void) { #ifdef _LKM sysctl_teardown(SYSCTLLOG); + + if (freq_names) + free(freq_names, M_SYSCTLDATA); #endif } -- cgit