Skip to content

Commit 39fcdac

Browse files
authored
Fix reading string pool strings with lengths over 64k (nightlark#67)
1 parent 22944ef commit 39fcdac

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

src/pymsi/stringpool.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ def __init__(self, pool_stream, data_stream):
2121
length = pool_reader.read_u16_le()
2222
refcount = pool_reader.read_u16_le()
2323
if length == 0 and refcount > 0:
24-
length = (refcount << 16) | pool_reader.read_u16_le()
25-
refcount = pool_reader.read_u16_le()
26-
24+
length = pool_reader.read_u32_le()
2725
self.strings.append((self.codepage.decode(data_reader.read_bytes(length)), refcount))
2826

2927
def __getitem__(self, stringref: int):

0 commit comments

Comments
 (0)