public static void MemoryManagerPinEmptyArray() { Sodium.Initialize(); using MemoryManager <int> manager = new SecureMemoryManager <int>(0); MemoryHandle handle = manager.Pin(); unsafe { Assert.True(handle.Pointer != null); } }
public static void MemoryManagerPinArray() { Sodium.Initialize(); int[] a = { 1, 2, 3, 4, 5 }; using MemoryManager <int> manager = new SecureMemoryManager <int>(a.Length); a.CopyTo(manager.Memory); using MemoryHandle handle = manager.Pin(); unsafe { var pointer = (int *)handle.Pointer; Assert.True(pointer != null); for (var i = 0; i < manager.Memory.Length; i++) { Assert.Equal(a[i], pointer[i]); } } }