[RDBSS] Avoid CORE-13938
authorJoachim Henze <Joachim.Henze@reactos.org>
Sat, 17 Feb 2018 19:28:15 +0000 (20:28 +0100)
committerJoachim Henze <Joachim.Henze@reactos.org>
Thu, 2 Apr 2020 13:09:46 +0000 (15:09 +0200)
Pierre recommended this workaround for 0.4.8rls before.
Avoids "GetVolumeInformation now fails on NFS volume"

This workaround was recurrently applied for all releases
0.4.8, 0.4.9, 0.4.10, 0.4.11, 0.4.12, 0.4.13.

I never got any reply in the regression-ticket and recurrently
applying this over and over again is a waste of time.
So I decided to commit to master today, but will leave
the ticket unresolved, so when a proper fix will arrive in the future,
the existing ticket will remind us to undo this workaround.

Please note that I replaced #if 0 with #if 1
as discussed with Pierre. That's different to the patch in ticket.

sdk/lib/drivers/rdbsslib/rdbss.c

index 851b0f5..4fe0186 100644 (file)
@@ -8319,6 +8319,16 @@ RxQueryNameInfo(
         return STATUS_BUFFER_OVERFLOW;
     }
 
+#if 1 // CORE-13938, rfb: please note I replaced 0 with 1 here
+    if (NodeType(Fcb) == RDBSS_NTC_STORAGE_TYPE_DIRECTORY &&
+        RxContext->Info.LengthRemaining >= sizeof(WCHAR))
+    {
+        NameInfo->FileName[NameInfo->FileNameLength / sizeof(WCHAR)] = L'\\';
+        NameInfo->FileNameLength += sizeof(WCHAR);
+        RxContext->Info.LengthRemaining -= sizeof(WCHAR);
+    }
+#endif
+
     /* All correct */
     return STATUS_SUCCESS;
 }