Fixed a bug.

geesefs-0-30-9
Aaron Jacobs 2015-07-24 15:10:28 +10:00
parent a1dadab66e
commit 59962d69e6
1 changed files with 5 additions and 3 deletions

View File

@ -55,12 +55,15 @@ func (m *InMessage) Init(r io.Reader) (err error) {
return
}
// Make sure the message is long enough that calling Header is safe.
if uintptr(n) < unsafe.Sizeof(fusekernel.InHeader{}) {
// Make sure the message is long enough.
const headerSize = unsafe.Sizeof(fusekernel.InHeader{})
if uintptr(n) < headerSize {
err = fmt.Errorf("Unexpectedly read only %d bytes.", n)
return
}
m.remaining = m.storage[headerSize:n]
// Check the header's length.
if int(m.Header().Len) != n {
err = fmt.Errorf(
@ -71,7 +74,6 @@ func (m *InMessage) Init(r io.Reader) (err error) {
return
}
m.remaining = m.storage[:n]
return
}