diff --git a/scheme/resource.rs b/scheme/resource.rs index 06598a8443c69efea664ea4fdaf759429dc35cd6..a72eebdf9a8708747e78237092bb11765d12223a 100644 --- a/scheme/resource.rs +++ b/scheme/resource.rs @@ -30,8 +30,12 @@ impl FileResource { pub fn write(&mut self, buf: &[u8]) -> Result<usize> { let mut i = 0; - while i < buf.len() && self.seek < self.data.len() { - self.data[self.seek] = buf[i]; + while i < buf.len() { + if self.seek < self.data.len() { + self.data[self.seek] = buf[i]; + } else { + self.data.push(buf[i]); + } i += 1; self.seek += 1; }