Skip to content

这里的缓冲区未更新是否为bug #2

@nk-akun

Description

@nk-akun

func (b *Reader) ReadFull(n int) ([]byte, error) {

func (b *Reader) ReadFull(n int) ([]byte, error) {
	//return b.buf[]
	if b.err != nil || n == 0 {
		return nil, b.err
	}
	var buf = b.slice.Make(n)
	if _, err := io.ReadFull(bytes.NewReader(b.buf[b.rpos:]), buf); err != nil {
		return nil, err
	}
	b.rpos += n
	return buf, nil
}

这里每次从缓冲区读取长度为n的buf,但未考虑b.buf读完的情况,详细看了几遍感觉还是有问题。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions