]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Fix out of bounds in mmap WriteTo
authorMatt Joiner <anacrolix@gmail.com>
Thu, 14 Aug 2025 02:15:23 +0000 (12:15 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 14 Aug 2025 02:15:23 +0000 (12:15 +1000)
storage/file-io-mmap.go

index ed181f3c489128321d90d5f25f88065e031e5a7c..422c1c0af118ad026fa26022f2091e4222490ab9 100644 (file)
@@ -186,7 +186,11 @@ type mmapFileHandle struct {
 }
 
 func (me *mmapFileHandle) WriteTo(w io.Writer) (n int64, err error) {
-       n1, err := w.Write(me.shared.f.m[me.pos:])
+       b := me.shared.f.m
+       if me.pos >= int64(len(b)) {
+               return
+       }
+       n1, err := w.Write(b[me.pos:])
        n = int64(n1)
        me.pos += n
        return