From 922e8554de2743024bc358fa8812c10d39784a2c Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Mon, 1 Mar 2021 18:17:01 +0000 Subject: [PATCH] Zstd: Fix infinite loop when input exhausted --- src/saveload/saveload.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index 824fd29b12..8432c2c43a 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -2801,6 +2801,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);