Skip to content

Commit eb32b22

Browse files
lutzroederdevelar
authored andcommitted
feat: NSIS uninstaller uncompressed support (#4305) (#4415)
1 parent d55f880 commit eb32b22

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

packages/app-builder-lib/src/targets/nsis/nsisUtil.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,15 +224,15 @@ export class UninstallerReader {
224224
let innerBuffer = null
225225
while (true) {
226226
let size = nsisReader.uint32()
227-
if ((size & 0x80000000) === 0) {
227+
const compressed = (size & 0x80000000) !== 0
228+
size = size & 0x7FFFFFFF
229+
if (size === 0 || (nsisReader.position + size) > nsisReader.length || nsisReader.position >= nsisReader.length) {
228230
break
229231
}
230-
size &= 0x7FFFFFFF
231-
if (size === 0 || nsisReader.position >= nsisReader.length) {
232-
break
232+
let buffer = nsisReader.bytes(size)
233+
if (compressed) {
234+
buffer = zlib.inflateRawSync(buffer)
233235
}
234-
const compressedData = nsisReader.bytes(size)
235-
const buffer = zlib.inflateRawSync(compressedData)
236236
const innerReader = new BinaryReader(buffer)
237237
innerReader.uint32() // ?
238238
if (innerReader.match(nsisSignature)) {

0 commit comments

Comments
 (0)