diff options
| author | Peter Atashian <retep998@gmail.com> | 2016-10-25 10:00:16 -0400 |
|---|---|---|
| committer | Peter Atashian <retep998@gmail.com> | 2016-10-25 10:00:16 -0400 |
| commit | b3e8c4c2be593562085fca03a973fb2d917e5184 (patch) | |
| tree | 7a2d43f748d5c81624747281d3ebcbdff5114fe0 /src/liballoc_system | |
| parent | affc3b7552324284ccd7042b5b23f6ecd391babc (diff) | |
| download | rust-b3e8c4c2be593562085fca03a973fb2d917e5184.tar.gz rust-b3e8c4c2be593562085fca03a973fb2d917e5184.zip | |
Print out the error when HeapFree failures do occur
Diffstat (limited to 'src/liballoc_system')
| -rw-r--r-- | src/liballoc_system/lib.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/liballoc_system/lib.rs b/src/liballoc_system/lib.rs index b380ba180f4..a4fabb5a2c9 100644 --- a/src/liballoc_system/lib.rs +++ b/src/liballoc_system/lib.rs @@ -166,6 +166,7 @@ mod imp { fn HeapAlloc(hHeap: HANDLE, dwFlags: DWORD, dwBytes: SIZE_T) -> LPVOID; fn HeapReAlloc(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID, dwBytes: SIZE_T) -> LPVOID; fn HeapFree(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID) -> BOOL; + fn GetLastError() -> DWORD; } #[repr(C)] @@ -230,11 +231,11 @@ mod imp { pub unsafe fn deallocate(ptr: *mut u8, _old_size: usize, align: usize) { if align <= MIN_ALIGN { let err = HeapFree(GetProcessHeap(), 0, ptr as LPVOID); - debug_assert!(err != 0); + debug_assert!(err != 0, "Failed to free heap memory: {}", GetLastError()); } else { let header = get_header(ptr); let err = HeapFree(GetProcessHeap(), 0, header.0 as LPVOID); - debug_assert!(err != 0); + debug_assert!(err != 0, "Failed to free heap memory: {}", GetLastError()); } } |
