From fbbe77f5f2c704591a39cc732baf2b1cde5bc134 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 25 Apr 2024 14:30:28 -0400 Subject: [PATCH] Sanity checks before writing --- SabreTools.IO/Extensions/BinaryWriterExtensions.cs | 4 ++++ SabreTools.IO/Extensions/StreamWriterExtensions.cs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/SabreTools.IO/Extensions/BinaryWriterExtensions.cs b/SabreTools.IO/Extensions/BinaryWriterExtensions.cs index 700f86f..77fa44a 100644 --- a/SabreTools.IO/Extensions/BinaryWriterExtensions.cs +++ b/SabreTools.IO/Extensions/BinaryWriterExtensions.cs @@ -410,6 +410,10 @@ namespace SabreTools.IO.Extensions /// private static bool WriteFromBuffer(BinaryWriter writer, byte[] value) { + // If the stream is not writable + if (!writer.BaseStream.CanWrite) + return false; + // Handle the 0-byte case if (value.Length == 0) return true; diff --git a/SabreTools.IO/Extensions/StreamWriterExtensions.cs b/SabreTools.IO/Extensions/StreamWriterExtensions.cs index 67b4a7a..512602b 100644 --- a/SabreTools.IO/Extensions/StreamWriterExtensions.cs +++ b/SabreTools.IO/Extensions/StreamWriterExtensions.cs @@ -408,6 +408,10 @@ namespace SabreTools.IO.Extensions /// private static bool WriteFromBuffer(Stream stream, byte[] value) { + // If the stream is not writable + if (!stream.CanWrite) + return false; + // Handle the 0-byte case if (value.Length == 0) return true;