From 59962d69e6891711354c479b6b835741509f161e Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Fri, 24 Jul 2015 15:10:28 +1000 Subject: [PATCH] Fixed a bug. --- internal/buffer/in_message.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/buffer/in_message.go b/internal/buffer/in_message.go index 72ea5c3..f87f3b0 100644 --- a/internal/buffer/in_message.go +++ b/internal/buffer/in_message.go @@ -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 }