From c1fe12288c7630d06ad06f4ec9ce86422bd95705 Mon Sep 17 00:00:00 2001 From: Yoshi Askharoun Date: Sun, 5 Jun 2022 16:38:46 -0500 Subject: [PATCH] Reverted incorrect assumption about pointer casts/arithmetic --- UIX.RenderApi/Microsoft/Iris/Render/Protocol/BlobInfo.cs | 2 +- UIX.RenderApi/Microsoft/Iris/Render/Protocol/MessageHeap.cs | 2 +- UIX.RenderApi/Microsoft/Iris/Render/Protocol/RenderPort.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/UIX.RenderApi/Microsoft/Iris/Render/Protocol/BlobInfo.cs b/UIX.RenderApi/Microsoft/Iris/Render/Protocol/BlobInfo.cs index aee08d3..5cf60bc 100644 --- a/UIX.RenderApi/Microsoft/Iris/Render/Protocol/BlobInfo.cs +++ b/UIX.RenderApi/Microsoft/Iris/Render/Protocol/BlobInfo.cs @@ -78,7 +78,7 @@ namespace Microsoft.Iris.Render.Protocol public unsafe void Attach(Message* pMessage) { - byte* numPtr1 = (byte*)pMessage + this.m_blobsOffset; + byte* numPtr1 = (byte*)((nint)pMessage + this.m_blobsOffset); foreach (object obj in this.m_data) { if (obj is string) diff --git a/UIX.RenderApi/Microsoft/Iris/Render/Protocol/MessageHeap.cs b/UIX.RenderApi/Microsoft/Iris/Render/Protocol/MessageHeap.cs index 742ad94..58749d9 100644 --- a/UIX.RenderApi/Microsoft/Iris/Render/Protocol/MessageHeap.cs +++ b/UIX.RenderApi/Microsoft/Iris/Render/Protocol/MessageHeap.cs @@ -181,7 +181,7 @@ namespace Microsoft.Iris.Render.Protocol private unsafe void ZeroMemoryBlock(MessageHeap.BlockInfo block, uint offset, uint size) { Debug2.Validate(offset + size <= block.size, typeof(ArgumentOutOfRangeException), "Invalid memory range for block"); - byte* start = (byte*)block.data + offset; + byte* start = (byte*)((nint)block.data + offset); for (byte* current = start + size; start < current; ++start) *start = 0; } diff --git a/UIX.RenderApi/Microsoft/Iris/Render/Protocol/RenderPort.cs b/UIX.RenderApi/Microsoft/Iris/Render/Protocol/RenderPort.cs index 9682870..86319b5 100644 --- a/UIX.RenderApi/Microsoft/Iris/Render/Protocol/RenderPort.cs +++ b/UIX.RenderApi/Microsoft/Iris/Render/Protocol/RenderPort.cs @@ -470,7 +470,7 @@ namespace Microsoft.Iris.Render.Protocol this._lastBatchEntry->uOffsetNextEntry = num; else ((MessageBatchHeader*)block.data)->uOffsetFirstEntry = num; - this._lastBatchEntry = (MessageBatchEntry*)block.data + num; + this._lastBatchEntry = (MessageBatchEntry*)((nint)block.data + num); this._lastBatchBlockId = block.id; ++this._uBatchedMessages; BatchCallback populateCallback = this._batchPopulateCallback;