From 451e8f93cc255d8515916ce305fbd18dd40dcd81 Mon Sep 17 00:00:00 2001 From: ElektroKill Date: Mon, 10 Jul 2023 14:49:35 +0200 Subject: [PATCH] Validate serialized resource data format when writing --- src/DotNet/Resources/UserResourceData.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/DotNet/Resources/UserResourceData.cs b/src/DotNet/Resources/UserResourceData.cs index fcfe0b9e5..17e82714d 100644 --- a/src/DotNet/Resources/UserResourceData.cs +++ b/src/DotNet/Resources/UserResourceData.cs @@ -1,5 +1,6 @@ // dnlib: See LICENSE.txt for more info +using System; using System.IO; using System.Runtime.Serialization; using dnlib.IO; @@ -68,6 +69,8 @@ public BinaryResourceData(UserResourceType type, byte[] data, SerializationForma /// public override void WriteData(ResourceBinaryWriter writer, IFormatter formatter) { + if (writer.ReaderType == ResourceReaderType.ResourceReader && Format != SerializationFormat.BinaryFormatter) + throw new NotSupportedException(); if (writer.ReaderType == ResourceReaderType.DeserializingResourceReader) { writer.Write7BitEncodedInt((int)format); writer.Write7BitEncodedInt(data.Length);