From 897b4fb8aba1ff4b77be88043f6192f01ed6a19c Mon Sep 17 00:00:00 2001 From: Pat Hickey Date: Fri, 29 Jan 2021 15:48:55 -0800 Subject: [PATCH] wasictxbuilder: assert that stdio is provided --- crates/wasi-common/src/ctx.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/crates/wasi-common/src/ctx.rs b/crates/wasi-common/src/ctx.rs index 5f3c798fa1..20a9ef7064 100644 --- a/crates/wasi-common/src/ctx.rs +++ b/crates/wasi-common/src/ctx.rs @@ -64,6 +64,17 @@ pub struct WasiCtxBuilder(WasiCtx); impl WasiCtxBuilder { pub fn build(self) -> Result { + use crate::file::TableFileExt; + let t = self.0.table(); + for (fd, name) in ["stdin", "stdout", "stderr"].iter().enumerate() { + if t.get_file(fd as u32).is_err() { + return Err(anyhow::anyhow!( + "Cannot build WasiCtx: Missing required file `{}`", + name + )); + } + } + drop(t); Ok(self.0) }