diff options
Diffstat (limited to 'cli/dispatch_minimal.rs')
-rw-r--r-- | cli/dispatch_minimal.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/cli/dispatch_minimal.rs b/cli/dispatch_minimal.rs index a3a383393..0e20d3b1a 100644 --- a/cli/dispatch_minimal.rs +++ b/cli/dispatch_minimal.rs @@ -133,7 +133,12 @@ mod ops { pub fn read(rid: i32, zero_copy: Option<PinnedBuf>) -> Box<MinimalOp> { debug!("read rid={}", rid); - let zero_copy = zero_copy.unwrap(); + let zero_copy = match zero_copy { + None => { + return Box::new(futures::future::err(errors::no_buffer_specified())) + } + Some(buf) => buf, + }; match resources::lookup(rid as u32) { None => Box::new(futures::future::err(errors::bad_resource())), Some(resource) => Box::new( @@ -146,7 +151,12 @@ mod ops { pub fn write(rid: i32, zero_copy: Option<PinnedBuf>) -> Box<MinimalOp> { debug!("write rid={}", rid); - let zero_copy = zero_copy.unwrap(); + let zero_copy = match zero_copy { + None => { + return Box::new(futures::future::err(errors::no_buffer_specified())) + } + Some(buf) => buf, + }; match resources::lookup(rid as u32) { None => Box::new(futures::future::err(errors::bad_resource())), Some(resource) => Box::new( |