From e485fc03479e6b1a428cf0dd2504cf9b380dbb43 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 20 Feb 2007 17:28:40 +0000 Subject: [PATCH] If a mount request failed (e.g. due to failed authentication) the respective not-yet-mounted ClientVolume was not removed, which could cause query requests to crash the server. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20184 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../r5/src/test/netfs/server/ClientConnection.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientConnection.cpp b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientConnection.cpp index 5b3fa24916..e0329b438f 100644 --- a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientConnection.cpp +++ b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/netfs/server/ClientConnection.cpp @@ -601,6 +601,13 @@ ClientConnection::VisitMountRequest(MountRequest* request) reply.sharePermissions = sharePermissions.GetPermissions(); reply.volumeID = volume->GetID(); } + + // make sure, the volume is removed on error + if (result != B_OK && volume) { + AutoLocker volumeMapLocker(fVolumes); + volume->MarkRemoved(); + } + securityContextLocker.Unlock(); managerLocker.Unlock();