Skip to content

Commit

Permalink
Add test for #13259. Closes #13259 and #14742
Browse files Browse the repository at this point in the history
  • Loading branch information
brson committed Sep 26, 2014
1 parent a52eaaa commit 3b3d702
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions src/test/run-pass/issue-13259-windows-tcb-trash.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
extern crate libc;
use libc::{c_void, LPVOID, DWORD};
use libc::types::os::arch::extra::LPWSTR;

extern "system" {
fn FormatMessageW(flags: DWORD,
lpSrc: LPVOID,
msgId: DWORD,
langId: DWORD,
buf: LPWSTR,
nsize: DWORD,
args: *const c_void)
-> DWORD;
}

fn test() {
let mut buf: [u16, ..50] = [0, ..50];
let ret = unsafe {
FormatMessageW(0x1000, 0 as *mut c_void, 1, 0x400,
buf.as_mut_ptr(), buf.len() as u32, 0 as *const c_void)
};
// On some 32-bit Windowses (Win7-8 at least) this will fail with segmented
// stacks taking control of pvArbitrary
assert!(ret != 0);
}
fn main() {
test()
}

0 comments on commit 3b3d702

Please sign in to comment.