Skip to content

Commit 52f00a3

Browse files
authored
fix: the value of warcVer changed unexpectedly (#154)
The lifecycle of warcVer spans multiple `readUntilDelim()` calls, and changes in the underlying buffer (intermediateBuf) data can cause unexpected to the warcVer.
1 parent 7d95a70 commit 52f00a3

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

read.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,8 @@ func (r *Reader) ReadRecord(opts ...ReadOpts) (*Record, error) {
254254
}
255255
}
256256

257-
warcVer, _, err := readUntilDelim(r.bufReader, []byte("\r\n"))
257+
_warcVer, _, err := readUntilDelim(r.bufReader, []byte("\r\n"))
258+
warcVer := string(_warcVer) // clone to avoid changes in underlying buffer
258259
if err != nil {
259260
if err == io.EOF && len(warcVer) == 0 {
260261
// treat as EOF for safety if member present but empty

0 commit comments

Comments
 (0)