From 2aaf60b38d8be1e0b71cfbb7c1e13263188af201 Mon Sep 17 00:00:00 2001 From: dP Date: Thu, 18 Dec 2025 04:14:11 +0500 Subject: [PATCH] Fix potential infinite loop when unpacking zstd (from jgrpp) --- src/saveload/saveload.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index bcfcba852f..63ae1c1304 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -2829,6 +2829,7 @@ struct ZSTDLoadFilter : LoadFilter { if (this->input.pos == this->input.size) { this->input.size = this->chain->Read(this->fread_buf, sizeof(this->fread_buf)); this->input.pos = 0; + if (this->input.size == 0) break; } size_t ret = ZSTD_decompressStream(this->zstd, &output, &this->input);