From 5668582c8ed63c0533baa55051198bd065e6c01b Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Thu, 28 Aug 2014 08:09:41 +1000 Subject: [PATCH] Fix crashes in torrentfs.fileNode.Read --- fs/torrentfs.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/torrentfs.go b/fs/torrentfs.go index 3d712a19..a8d18cf1 100644 --- a/fs/torrentfs.go +++ b/fs/torrentfs.go @@ -87,6 +87,9 @@ func (fn fileNode) Read(req *fuse.ReadRequest, resp *fuse.ReadResponse, intr fus }() size := req.Size fileLeft := int64(fn.size) - req.Offset + if fileLeft < 0 { + fileLeft = 0 + } if fileLeft < int64(size) { size = int(fileLeft) } @@ -98,7 +101,7 @@ func (fn fileNode) Read(req *fuse.ReadRequest, resp *fuse.ReadResponse, intr fus torrentOff := fn.TorrentOffset + req.Offset go func() { if err := fn.FS.Client.PrioritizeDataRegion(infoHash, torrentOff, int64(size)); err != nil { - panic(err) + log.Printf("error prioritizing %s: %s", fn.fsPath(), err) } }() delayed := false -- 2.48.1