From aecec187d7407c98884187e22814678fbef7e32f Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Tue, 29 Oct 2019 17:11:43 -0700 Subject: [PATCH] Check for overflow when incrementing the `preopen_fd` counter. (#157) If someone somehow defines more preopens than can fit in the `__wasi_fd_t` index space, we should detect it instead of silently wrapping around. --- src/ctx.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ctx.rs b/src/ctx.rs index 3f4d9d5cf9..b86bfa2bd7 100644 --- a/src/ctx.rs +++ b/src/ctx.rs @@ -135,7 +135,7 @@ impl WasiCtxBuilder { let mut fe = FdEntry::from(dir)?; fe.preopen_path = Some(guest_path); self.fds.insert(preopen_fd, fe); - preopen_fd += 1; + preopen_fd = preopen_fd.checked_add(1).ok_or(Error::ENFILE)?; } let env = self