Module Name: src
Committed By: elad
Date: Fri Dec 25 22:57:54 UTC 2009
Modified Files:
src/sys/kern: kern_verifiedexec.c
Log Message:
Only kmem_free() the filename if we have one.
To generate a diff of this commit:
cvs rdiff -u -r1.118 -r1.119 src/sys/kern/kern_verifiedexec.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/kern_verifiedexec.c
diff -u src/sys/kern/kern_verifiedexec.c:1.118 src/sys/kern/kern_verifiedexec.c:1.119
--- src/sys/kern/kern_verifiedexec.c:1.118 Sat Nov 7 07:27:49 2009
+++ src/sys/kern/kern_verifiedexec.c Fri Dec 25 22:57:54 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_verifiedexec.c,v 1.118 2009/11/07 07:27:49 cegger Exp $ */
+/* $NetBSD: kern_verifiedexec.c,v 1.119 2009/12/25 22:57:54 elad Exp $ */
/*-
* Copyright (c) 2005, 2006 Elad Efrat <[email protected]>
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_verifiedexec.c,v 1.118 2009/11/07 07:27:49 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_verifiedexec.c,v 1.119 2009/12/25 22:57:54 elad Exp $");
#include "opt_veriexec.h"
@@ -913,9 +913,12 @@
* entries so we can destroy the object.
*/
- kmem_free(vfe->filename, vfe->filename_len);
+ if (vfe->filename_len > 0)
+ kmem_free(vfe->filename, vfe->filename_len);
+
vfe->filename = NULL;
vfe->filename_len = 0;
+
rw_downgrade(&veriexec_op_lock);
}