only perform mountpoint move and cleanup, if mountpoint is not a drive letter

This commit is contained in:
Armin Schrenk 2023-02-01 13:44:57 +01:00
parent b9e57ce895
commit 28217b2de3
No known key found for this signature in database
GPG Key ID: 8F2992163CBBA7FC

View File

@ -81,6 +81,7 @@ public class Mounter {
var canMountToDriveLetter = service.hasCapability(MOUNT_AS_DRIVE_LETTER);
var canMountToParent = service.hasCapability(MOUNT_WITHIN_EXISTING_PARENT);
var canMountToDir = service.hasCapability(MOUNT_TO_EXISTING_DIR);
var mpIsDriveLetter = userChosenMountPoint.toString().matches("[A-Z]:\\\\");
if (userChosenMountPoint == null) {
if (service.hasCapability(MOUNT_TO_SYSTEM_CHOSEN_PATH)) {
@ -96,7 +97,7 @@ public class Mounter {
builder.setMountpoint(mountPoint);
}
} else {
if (canMountToParent && !canMountToDir) {
if (!mpIsDriveLetter && canMountToParent && !canMountToDir) {
MountWithinParentUtil.prepareParentNoMountPoint(userChosenMountPoint);
cleanup = () -> {
MountWithinParentUtil.cleanup(userChosenMountPoint);
@ -105,7 +106,6 @@ public class Mounter {
try {
builder.setMountpoint(userChosenMountPoint);
} catch (IllegalArgumentException e) {
var mpIsDriveLetter = userChosenMountPoint.toString().matches("[A-Z]:\\\\");
var configNotSupported = (!canMountToDriveLetter && mpIsDriveLetter) || (!canMountToDir && !mpIsDriveLetter) || (!canMountToParent && !mpIsDriveLetter);
if (configNotSupported) {
throw new MountPointNotSupportedException(e.getMessage());