Imported Upstream version 6.4.0.137

Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-07-26 19:53:28 +00:00
parent e9207cf623
commit ef583813eb
2712 changed files with 74169 additions and 40587 deletions

View File

@ -431,7 +431,11 @@ namespace System.Runtime.Remoting.Messaging {
ArrayList ret = null;
if (null != _serializedArgs) {
object[] oret = (object[]) CADSerializer.DeserializeObject (new MemoryStream (_serializedArgs));
// Avoid cross domain refs between MemoryStream and _serializedArgs byte array
byte[] copyArray = new byte [_serializedArgs.Length];
Array.Copy (_serializedArgs, copyArray, _serializedArgs.Length);
object[] oret = (object[]) CADSerializer.DeserializeObject (new MemoryStream (copyArray));
ret = new ArrayList (oret);
_serializedArgs = null;
}
@ -498,7 +502,11 @@ namespace System.Runtime.Remoting.Messaging {
ArrayList ret = null;
if (null != _serializedArgs) {
object[] oret = (object[]) CADSerializer.DeserializeObject (new MemoryStream (_serializedArgs));
// Avoid cross domain refs between MemoryStream and _serializedArgs byte array
byte[] copyArray = new byte [_serializedArgs.Length];
Array.Copy (_serializedArgs, copyArray, _serializedArgs.Length);
object[] oret = (object[]) CADSerializer.DeserializeObject (new MemoryStream (copyArray));
ret = new ArrayList (oret);
_serializedArgs = null;
}