From 38dd7dee8a923944eae550d4b18e27bc97360c8a Mon Sep 17 00:00:00 2001 From: "Tim J. Robbins" Date: Thu, 24 Apr 2003 08:16:06 +0000 Subject: [PATCH] Free mount credentials (mnt_cred) when freeing the mount struct in failure cases to avoid leaking struct ucreds, and ultimately leaking struct uidinfo references. --- sys/kern/vfs_mount.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 34ceb77e7b4..6a12f20e944 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -701,6 +701,7 @@ update: #ifdef MAC mac_destroy_mount(mp); #endif + crfree(mp->mnt_cred); free(mp, M_MOUNT); } vrele(vp); @@ -794,6 +795,7 @@ update: #ifdef MAC mac_destroy_mount(mp); #endif + crfree(mp->mnt_cred); free(mp, M_MOUNT); vput(vp); goto bad; @@ -1064,6 +1066,7 @@ update: #ifdef MAC mac_destroy_mount(mp); #endif + crfree(mp->mnt_cred); free(mp, M_MOUNT); } vrele(vp); @@ -1144,6 +1147,7 @@ update: #ifdef MAC mac_destroy_mount(mp); #endif + crfree(mp->mnt_cred); free(mp, M_MOUNT); vput(vp); } @@ -1570,6 +1574,7 @@ done: #ifdef MAC mac_destroy_mount(mp); #endif + crfree(mp->mnt_cred); free(mp, M_MOUNT); } printf("Root mount failed: %d\n", error);