[RTL]: Fix a bug in RtlGetCurrentDirectory_U.

svn path=/trunk/; revision=54586
This commit is contained in:
Alex Ionescu 2011-12-04 16:27:32 +00:00
parent aa165b016c
commit 778d8cec8a

View file

@ -899,13 +899,13 @@ RtlGetCurrentDirectory_U(IN ULONG MaximumLength,
{ {
/* Call has no space for it, fail, add the trailing slash */ /* Call has no space for it, fail, add the trailing slash */
RtlReleasePebLock(); RtlReleasePebLock();
return Bytes + sizeof(L'\\'); return Bytes + sizeof(OBJ_NAME_PATH_SEPARATOR);
} }
} }
else else
{ {
/* Check if caller does not have enough space */ /* Check if caller does not have enough space */
if (MaximumLength <= Bytes) if (MaximumLength < Bytes)
{ {
/* Call has no space for it, fail */ /* Call has no space for it, fail */
RtlReleasePebLock(); RtlReleasePebLock();
@ -917,7 +917,7 @@ RtlGetCurrentDirectory_U(IN ULONG MaximumLength,
RtlCopyMemory(Buffer, CurDirName, Bytes); RtlCopyMemory(Buffer, CurDirName, Bytes);
/* The buffer should end with a path separator */ /* The buffer should end with a path separator */
ASSERT(Buffer[Length - 1] == L'\\'); ASSERT(Buffer[Length - 1] == OBJ_NAME_PATH_SEPARATOR);
/* Again check for our two cases (drive root vs path) */ /* Again check for our two cases (drive root vs path) */
if ((Length <= 1) || (Buffer[Length - 2] != L':')) if ((Length <= 1) || (Buffer[Length - 2] != L':'))