diff --git a/plugins/decompress/source/content/pl_functions.cpp b/plugins/decompress/source/content/pl_functions.cpp index 5589a1b95..87388be39 100644 --- a/plugins/decompress/source/content/pl_functions.cpp +++ b/plugins/decompress/source/content/pl_functions.cpp @@ -174,6 +174,13 @@ namespace hex::plugin::decompress { section.resize(section.size() - stream.avail_out); break; } + + if (res == LZMA_MEMLIMIT_ERROR) { + auto usage = lzma_memusage(&stream); + lzma_memlimit_set(&stream, usage); + res = lzma_code(&stream, LZMA_RUN); + } + if (res != LZMA_OK) return false;