Skip to content

Commit 5ebc3dd

Browse files
committed
Fix some possible exceptions in zreader error handlers
Fixes #1865
1 parent fb6f84e commit 5ebc3dd

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

src/ZReaders/files.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,8 @@ FileReaderZ::FileReaderZ(FileReader& file, int windowbits) : File(file), SawEOF(
242242

243243
if (Status != Z_OK)
244244
{
245-
Message = fmt::format("FileReaderZ: inflateInit failed: {}\n", Stream.msg);
245+
Message = Stream.msg == nullptr ? "FileReaderZ: inflateInit failed"
246+
: fmt::format("FileReaderZ: inflateInit failed: {}\n", Stream.msg);
246247
}
247248
}
248249

@@ -267,13 +268,14 @@ long FileReaderZ::Read(void* buffer, long len)
267268

268269
if (Status != Z_OK && Status != Z_STREAM_END)
269270
{
270-
Message = fmt::format("Corrupt zlib stream: {}", Stream.msg);
271+
Message = Stream.msg == nullptr ? "Corrupt zlib stream" : fmt::format("Corrupt zlib stream: {}", Stream.msg);
271272
}
272273

273274
// Is this really a problem?
274275
if (Stream.avail_out != 0)
275276
{
276-
Message = fmt::format("Ran out of data in zlib stream: {}", Stream.msg);
277+
Message = Stream.msg == nullptr ? "Ran out of data in zlib stream"
278+
: fmt::format("Ran out of data in zlib stream: {}", Stream.msg);
277279
}
278280

279281
return len - Stream.avail_out;

0 commit comments

Comments
 (0)