Quellcode durchsuchen

NTFileSystemHelper: Rename will now return STATUS_OBJECT_NAME_COLLISION if the destination exists

Tal Aloni vor 8 Jahren
Ursprung
Commit
353460a976
1 geänderte Dateien mit 2 neuen und 1 gelöschten Zeilen
  1. 2 1
      SMBLibrary/Server/Helpers/NTFileSystemHelper.cs

+ 2 - 1
SMBLibrary/Server/Helpers/NTFileSystemHelper.cs

@@ -384,7 +384,8 @@ namespace SMBLibrary.Server
                 }
                 else if (errorCode == (ushort)Win32Error.ERROR_ALREADY_EXISTS)
                 {
-                    return NTStatus.STATUS_OBJECT_NAME_EXISTS;
+                    // According to [MS-FSCC], FileRenameInformation MUST return STATUS_OBJECT_NAME_COLLISION when the specified name already exists and ReplaceIfExists is zero.
+                    return NTStatus.STATUS_OBJECT_NAME_COLLISION;
                 }
                 else
                 {