amended: Add SecurityCritical attributes to serialization

pull/288/head
csharptest 10 years ago committed by rogerk
parent 6ab2678e27
commit 13f56c0d9c
  1. 9
      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<TMessage, TBuilder> : 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<TMessage, TBuilder> : 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);

Loading…
Cancel
Save