Return error when dup buf is not empty

This commit is contained in:
Jeremy Soller
2017-07-22 13:17:48 -06:00
parent ce78f9cf9e
commit 473ac85faa
5 changed files with 25 additions and 5 deletions
+5 -1
View File
@@ -70,7 +70,11 @@ impl Scheme for DiskScheme {
}
}
fn dup(&self, id: usize, _buf: &[u8]) -> Result<usize> {
fn dup(&self, id: usize, buf: &[u8]) -> Result<usize> {
if ! buf.is_empty() {
return Err(Error::new(EINVAL));
}
let mut handles = self.handles.lock();
let new_handle = {
let handle = handles.get(&id).ok_or(Error::new(EBADF))?;
+5 -1
View File
@@ -1797,7 +1797,11 @@ impl scheme::SchemeMut for Alx {
}
}
fn dup(&mut self, id: usize, _buf: &[u8]) -> Result<usize> {
fn dup(&mut self, id: usize, buf: &[u8]) -> Result<usize> {
if ! buf.is_empty() {
return Err(Error::new(EINVAL));
}
Ok(id)
}
+5 -1
View File
@@ -110,7 +110,11 @@ impl Scheme for Intel8254x {
}
}
fn dup(&self, id: usize, _buf: &[u8]) -> Result<usize> {
fn dup(&self, id: usize, buf: &[u8]) -> Result<usize> {
if ! buf.is_empty() {
return Err(Error::new(EINVAL));
}
Ok(id)
}
+5 -1
View File
@@ -83,7 +83,11 @@ impl SchemeMut for Rtl8168 {
}
}
fn dup(&mut self, id: usize, _buf: &[u8]) -> Result<usize> {
fn dup(&mut self, id: usize, buf: &[u8]) -> Result<usize> {
if ! buf.is_empty() {
return Err(Error::new(EINVAL));
}
Ok(id)
}
+5 -1
View File
@@ -114,7 +114,11 @@ impl SchemeMut for DisplayScheme {
}
}
fn dup(&mut self, id: usize, _buf: &[u8]) -> Result<usize> {
fn dup(&mut self, id: usize, buf: &[u8]) -> Result<usize> {
if ! buf.is_empty() {
return Err(Error::new(EINVAL));
}
let handle = self.handles.get(&id).map(|handle| handle.clone()).ok_or(Error::new(EBADF))?;
let new_id = self.next_id;