diff options
author | Feross Aboukhadijeh <feross@feross.org> | 2016-02-03 09:08:53 +0300 |
---|---|---|
committer | Feross Aboukhadijeh <feross@feross.org> | 2016-02-03 09:08:53 +0300 |
commit | 771ad46643c6f50d1bc5099e2370fb705f6f0987 (patch) | |
tree | 4d53078caa554494620b0497da2ebd1ad236ba0c /lib/file-stream.js | |
parent | 378318740983fe1a34701f32b3edb6b970dc2308 (diff) |
Clamp file.createReadStream({ end: num }) value
`render-media` and `videostream` may get passed an `end` value that’s
too large. Clamp it.
Diffstat (limited to 'lib/file-stream.js')
-rw-r--r-- | lib/file-stream.js | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/file-stream.js b/lib/file-stream.js index 83fe066..3f2e46a 100644 --- a/lib/file-stream.js +++ b/lib/file-stream.js @@ -21,7 +21,10 @@ function FileStream (file, opts) { this._torrent = file._torrent var start = (opts && opts.start) || 0 - var end = (opts && opts.end) || (file.length - 1) + var end = (opts && opts.end && opts.end < file.length) + ? opts.end + : file.length - 1 + var pieceLength = file._torrent.pieceLength this._startPiece = (start + file.offset) / pieceLength | 0 |