mirror of
https://github.com/fancycode/MemoryModule
synced 2026-06-06 15:44:28 +00:00
Fixed potential endless loop while searching for resources (github issue #10).
This commit is contained in:
+4
-4
@@ -563,9 +563,9 @@ static PIMAGE_RESOURCE_DIRECTORY_ENTRY _MemorySearchResourceEntry(
|
|||||||
middle = (start + end) >> 1;
|
middle = (start + end) >> 1;
|
||||||
entryName = (WORD) entries[middle].Name;
|
entryName = (WORD) entries[middle].Name;
|
||||||
if (check < entryName) {
|
if (check < entryName) {
|
||||||
end = middle;
|
end = (end != middle ? middle : middle-1);
|
||||||
} else if (check > entryName) {
|
} else if (check > entryName) {
|
||||||
start = middle;
|
start = (start != middle ? middle : middle+1);
|
||||||
} else {
|
} else {
|
||||||
result = &entries[middle];
|
result = &entries[middle];
|
||||||
break;
|
break;
|
||||||
@@ -599,9 +599,9 @@ static PIMAGE_RESOURCE_DIRECTORY_ENTRY _MemorySearchResourceEntry(
|
|||||||
cmp = wcsncmp(key, resourceString->NameString, resourceString->Length);
|
cmp = wcsncmp(key, resourceString->NameString, resourceString->Length);
|
||||||
#endif
|
#endif
|
||||||
if (cmp < 0) {
|
if (cmp < 0) {
|
||||||
end = middle;
|
end = (middle != end ? middle : middle-1);
|
||||||
} else if (cmp > 0) {
|
} else if (cmp > 0) {
|
||||||
start = middle;
|
start = (middle != start ? middle : middle+1);
|
||||||
} else {
|
} else {
|
||||||
result = &entries[middle];
|
result = &entries[middle];
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user