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