diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2021-07-05 12:02:19 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2021-07-05 21:38:38 +0200 |
| commit | dba5f7dd8eb0ddfd3ae8409641e5411200fb345d (patch) | |
| tree | 62974b50162497a44d44fdadcc9306943196767a /gui/src | |
| parent | 039f3a10b46bc634afc86490e7af7040175b9997 (diff) | |
| download | mullvadvpn-dba5f7dd8eb0ddfd3ae8409641e5411200fb345d.tar.xz mullvadvpn-dba5f7dd8eb0ddfd3ae8409641e5411200fb345d.zip | |
Improve resource table parsing
Diffstat (limited to 'gui/src')
| -rw-r--r-- | gui/src/main/windows-split-tunneling.ts | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/gui/src/main/windows-split-tunneling.ts b/gui/src/main/windows-split-tunneling.ts index 148709885d..a8915595e5 100644 --- a/gui/src/main/windows-split-tunneling.ts +++ b/gui/src/main/windows-split-tunneling.ts @@ -453,15 +453,12 @@ async function getResourceTreeLeafOffsets( const leaves: number[] = []; - let offset = tableOffset + table.size; - for (let i = 0; i < numberOfNameEntries + numberOfIdEntries; i++) { - const entryOffset = offset; - const entry = await Value.fromFile(fileHandle, entryOffset, IMAGE_RESOURCE_DIRECTORY_ID_ENTRY); - offset += entry.size; - - if (i < numberOfNameEntries) { - continue; - } + for (let i = numberOfNameEntries; i < numberOfNameEntries + numberOfIdEntries; i++) { + const offset = + tableOffset + + Value.sizeOf(IMAGE_RESOURCE_DIRECTORY) + + i * Value.sizeOf(IMAGE_RESOURCE_DIRECTORY_ID_ENTRY); + const entry = await Value.fromFile(fileHandle, offset, IMAGE_RESOURCE_DIRECTORY_ID_ENTRY); const id = entry.get('Id').value(); if (!ids.includes(id)) { |
