From 7f1eddc84d835423406ebf082cbbbdf9fc4b5025 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sat, 22 Jul 2017 13:16:41 -0600 Subject: [PATCH] Return error when dup buf is not empty --- src/ethernetd/scheme.rs | 6 +++++- src/ipd/main.rs | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/ethernetd/scheme.rs b/src/ethernetd/scheme.rs index bbd6bc94df..f6da2aa7a3 100644 --- a/src/ethernetd/scheme.rs +++ b/src/ethernetd/scheme.rs @@ -85,7 +85,11 @@ impl SchemeMut for EthernetScheme { } } - fn dup(&mut self, id: usize, _buf: &[u8]) -> Result { + fn dup(&mut self, id: usize, buf: &[u8]) -> Result { + if ! buf.is_empty() { + return Err(Error::new(EINVAL)); + } + let next_id = self.next_id; self.next_id += 1; diff --git a/src/ipd/main.rs b/src/ipd/main.rs index 49e332fcf7..c5ce140634 100644 --- a/src/ipd/main.rs +++ b/src/ipd/main.rs @@ -150,7 +150,11 @@ impl SchemeMut for Ipd { } } - fn dup(&mut self, file: usize, _buf: &[u8]) -> Result { + fn dup(&mut self, file: usize, buf: &[u8]) -> Result { + if ! buf.is_empty() { + return Err(Error::new(EINVAL)); + } + let handle = { let handle = self.handles.get(&file).ok_or(Error::new(EBADF))?; Handle {