hypercore 10.26.1 → 10.26.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/core.js +4 -4
- package/package.json +1 -1
package/lib/core.js
CHANGED
|
@@ -225,10 +225,10 @@ module.exports = class Core {
|
|
|
225
225
|
|
|
226
226
|
while (pos < length) {
|
|
227
227
|
const segmentStart = maximumSegmentStart(pos, src.bitfield, this.bitfield)
|
|
228
|
-
const segmentEnd = minimumSegmentEnd(segmentStart, src.bitfield, this.bitfield)
|
|
229
|
-
|
|
230
228
|
if (segmentStart >= length || segmentStart < 0) break
|
|
231
229
|
|
|
230
|
+
const segmentEnd = Math.min(length, minimumSegmentEnd(segmentStart, src.bitfield, this.bitfield))
|
|
231
|
+
|
|
232
232
|
const segment = []
|
|
233
233
|
|
|
234
234
|
pos = segmentStart
|
|
@@ -240,7 +240,7 @@ module.exports = class Core {
|
|
|
240
240
|
const [offset] = await src.tree.byteRange(2 * segmentStart)
|
|
241
241
|
await this.blocks.putBatch(segmentStart, segment, offset)
|
|
242
242
|
|
|
243
|
-
this.bitfield.setRange(segmentStart, segmentEnd, true)
|
|
243
|
+
this.bitfield.setRange(segmentStart, segmentEnd - segmentStart, true)
|
|
244
244
|
|
|
245
245
|
pos = segmentEnd + 1
|
|
246
246
|
}
|
|
@@ -283,7 +283,7 @@ module.exports = class Core {
|
|
|
283
283
|
this.header.tree.signature = this.tree.signature
|
|
284
284
|
}
|
|
285
285
|
|
|
286
|
-
this.header.userData = src.header.userData
|
|
286
|
+
this.header.userData = src.header.userData.slice(0)
|
|
287
287
|
|
|
288
288
|
await this._flushOplog()
|
|
289
289
|
} finally {
|