Details
-
Bug
-
Resolution: Won't Fix
-
Major
-
None
-
None
Description
There is a wrong assert at: RtlDosPathNameToRelativeNtPathName_U
Basically the ASSERT(RelativeName) is wrong.
(Btw, i don't know if the dev confused the parameters and he really wanted to do an Assert but with other param)
Why is it wrong?
If an app calls RtlDosPathNameToRelativeNtPathName_U with RelativeName=NULL, the execution will stop there.But is funny to discover that RtlDosPathNameToRelativeNtPathName_U calls RtlpDosPathNameToRelativeNtPathName_Ustr which handles the case:
if (RelativeName)
{
RtlDosPathNameToRelativeNtPathName_U:
http://doxygen.reactos.org/d9/d6e/lib_2rtl_2path_8c_a702874e591f7412d04acc337c1df9a07.html#a702874e591f7412d04acc337c1df9a07
RtlpDosPathNameToRelativeNtPathName_Ustr:
http://doxygen.reactos.org/d9/d6e/lib_2rtl_2path_8c_a11c87ad0f7752999b0b8972af6165d7a.html#a11c87ad0f7752999b0b8972af6165d7a
Btw, in the RtlpDosPathNameToRelativeNtPathName_Ustr there is a DPRINT call:
DPRINT("Relative: %lx DosName: %wZ NtName: %wZ, PartName: %p, RelativeName: %p\n",
HaveRelative, DosName, NtName, PartName, RelativeName);
As RelativeName could be Zero, could this lead to a problem?