From dd27237c74b71eba9f1f6ecb7e33b8c7b62de36f Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 8 Nov 2019 16:23:43 -0800 Subject: [PATCH] Avoid capturing a pointer into a temporary CString buffer. --- crates/wasi-c/src/instantiate.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/crates/wasi-c/src/instantiate.rs b/crates/wasi-c/src/instantiate.rs index 7216e4fed9..2304b1faf4 100644 --- a/crates/wasi-c/src/instantiate.rs +++ b/crates/wasi-c/src/instantiate.rs @@ -146,11 +146,8 @@ pub fn instantiate_wasi_c( let mut wasm_fd = 3; for (dir, file) in preopened_dirs { assert!(fd_table_insert_existing(curfds, wasm_fd, file.as_raw_fd())); - assert!(fd_prestats_insert( - prestats, - CString::new(dir.as_str()).unwrap().as_ptr(), - wasm_fd, - )); + let dir_cstr = CString::new(dir.as_str()).unwrap(); + assert!(fd_prestats_insert(prestats, dir_cstr.as_ptr(), wasm_fd)); wasm_fd += 1; } }