From 88d6678f934ba3f8268618e78c2924738cec668e Mon Sep 17 00:00:00 2001 From: Olga Kornievskaia Date: Tue, 28 Feb 2012 14:07:10 -0500 Subject: [PATCH] [driver] fixing multiple mount bug When the client has an existing mount but for a different security context and the new mount fails, don't free up the mount array for a given NetRoot. --- sys/nfs41_driver.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/nfs41_driver.c b/sys/nfs41_driver.c index 24bf665..219f134 100644 --- a/sys/nfs41_driver.c +++ b/sys/nfs41_driver.c @@ -2963,7 +2963,8 @@ NTSTATUS nfs41_CreateVNetRoot( status = nfs41_mount(&Config, pVNetRootContext->sec_flavor, &pVNetRootContext->session, &nfs41d_version); if (status != STATUS_SUCCESS) { - if (!found_existing_mount) { + if (!found_existing_mount && + IsListEmpty(&pNetRootContext->mounts->head)) { RxFreePool(pNetRootContext->mounts); pNetRootContext->mounts_init = FALSE; pVNetRootContext->session = INVALID_HANDLE_VALUE;