[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.
This commit is contained in:
Olga Kornievskaia 2012-02-28 14:07:10 -05:00
parent 90c1137f85
commit 88d6678f93

View file

@ -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;