From 13f56c0d9c2037fb8546cee46990323cd5b22177 Mon Sep 17 00:00:00 2001 From: csharptest Date: Sat, 7 Feb 2015 10:45:11 -0600 Subject: amended: Add SecurityCritical attributes to serialization --- src/ProtocolBuffers/CustomSerialization.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/ProtocolBuffers/CustomSerialization.cs b/src/ProtocolBuffers/CustomSerialization.cs index 6d26f86b..a658e955 100644 --- a/src/ProtocolBuffers/CustomSerialization.cs +++ b/src/ProtocolBuffers/CustomSerialization.cs @@ -36,6 +36,7 @@ /* * This entire source file is not supported on some platform */ +using System.Security.Permissions; #if !NOSERIALIZABLE using System; using System.Runtime.Serialization; @@ -52,6 +53,7 @@ namespace Google.ProtocolBuffers partial class AbstractMessageLite : ISerializable { [SecurityCritical] + [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) { info.SetType(typeof(SerializationSurrogate)); @@ -72,6 +74,8 @@ namespace Google.ProtocolBuffers _initialized = info.GetBoolean("initialized"); } + [SecurityCritical] + [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)] object IObjectReference.GetRealObject(StreamingContext context) { ExtensionRegistry registry = context.Context as ExtensionRegistry; @@ -95,6 +99,7 @@ namespace Google.ProtocolBuffers } [SecurityCritical] + [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("message", _message); @@ -106,6 +111,7 @@ namespace Google.ProtocolBuffers partial class AbstractBuilderLite : ISerializable { [SecurityCritical] + [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) { info.SetType(typeof(SerializationSurrogate)); @@ -123,6 +129,8 @@ namespace Google.ProtocolBuffers _message = (byte[])info.GetValue("message", typeof(byte[])); } + [SecurityCritical] + [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)] object IObjectReference.GetRealObject(StreamingContext context) { ExtensionRegistry registry = context.Context as ExtensionRegistry; @@ -139,6 +147,7 @@ namespace Google.ProtocolBuffers } [SecurityCritical] + [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("message", _message); -- cgit v1.2.3