[Midnightbsd-cvs] src [9844] stable/0.8/sys/kern/kern_lockf.c: fix double free

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Tue May 15 16:52:33 EDT 2018


Revision: 9844
          http://svnweb.midnightbsd.org/src/?rev=9844
Author:   laffer1
Date:     2018-05-15 16:52:32 -0400 (Tue, 15 May 2018)
Log Message:
-----------
fix double free

Modified Paths:
--------------
    stable/0.8/sys/kern/kern_lockf.c

Modified: stable/0.8/sys/kern/kern_lockf.c
===================================================================
--- stable/0.8/sys/kern/kern_lockf.c	2018-05-15 20:51:58 UTC (rev 9843)
+++ stable/0.8/sys/kern/kern_lockf.c	2018-05-15 20:52:32 UTC (rev 9844)
@@ -90,7 +90,7 @@
 SYSCTL_INT(_debug, OID_AUTO, lockf_debug, CTLFLAG_RW, &lockf_debug, 0, "");
 #endif
 
-MALLOC_DEFINE(M_LOCKF, "lockf", "Byte-range locking structures");
+static MALLOC_DEFINE(M_LOCKF, "lockf", "Byte-range locking structures");
 
 struct owner_edge;
 struct owner_vertex;
@@ -737,12 +737,13 @@
 
 	VI_UNLOCK(vp);
 
-	if (freestate) {
+	if (freestate != NULL) {
 		sx_xlock(&lf_lock_states_lock);
 		LIST_REMOVE(freestate, ls_link);
 		sx_xunlock(&lf_lock_states_lock);
 		sx_destroy(&freestate->ls_lock);
 		free(freestate, M_LOCKF);
+		freestate = NULL;
 	}
 	return (error);
 }



More information about the Midnightbsd-cvs mailing list