Fix name length handing in RtlQueryAtomInAtomTable.
Modified: trunk/reactos/lib/rtl/atom.c
_____
Modified: trunk/reactos/lib/rtl/atom.c
--- trunk/reactos/lib/rtl/atom.c 2005-08-03 14:26:56 UTC (rev
16998)
+++ trunk/reactos/lib/rtl/atom.c 2005-08-03 14:45:39 UTC (rev
16999)
@@ -602,19 +602,10 @@
if (*NameLength < Length + sizeof(WCHAR))
{
- /* prevent underflow! */
- if (*NameLength >= sizeof(WCHAR))
- {
- Length = *NameLength - sizeof(WCHAR);
- }
- else
- {
- Length = 0;
- Status = STATUS_BUFFER_TOO_SMALL;
- }
+ *NameLength = Length;
+ Status = STATUS_BUFFER_TOO_SMALL;
}
-
- if (Length)
+ else
{
RtlCopyMemory(AtomName,
NameString,
@@ -652,19 +643,10 @@
if (*NameLength < Length + sizeof(WCHAR))
{
- /* prevent underflow! */
- if (*NameLength >= sizeof(WCHAR))
- {
- Length = *NameLength - sizeof(WCHAR);
- }
- else
- {
- Length = 0;
- Status = STATUS_BUFFER_TOO_SMALL;
- }
+ *NameLength = Length;
+ Status = STATUS_BUFFER_TOO_SMALL;
}
-
- if (Length)
+ else
{
RtlCopyMemory(AtomName,
Entry->Name,
Show replies by date