Skip to content

Commit 62b4ddc

Browse files
committed
Fix reading nil
1 parent 1d38146 commit 62b4ddc

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

reader.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,13 @@ func (c *RespReader) readReply() error {
4444
return nil
4545
case '$':
4646
n, err := parseLen(line[1:])
47-
if n < 0 || err != nil {
47+
if err != nil {
4848
return err
4949
}
50+
if n < 0 {
51+
c.bw.WriteString("$-1\r\n")
52+
return nil
53+
}
5054
p := make([]byte, n+2)
5155
_, err = io.ReadFull(c.br, p)
5256
if err != nil {
@@ -60,9 +64,13 @@ func (c *RespReader) readReply() error {
6064
return nil
6165
case '*':
6266
n, err := parseLen(line[1:])
63-
if n < 0 || err != nil {
67+
if err != nil {
6468
return err
6569
}
70+
if n < 0 {
71+
c.bw.WriteString("*-1\r\n")
72+
return nil
73+
}
6674
c.bw.Write(line)
6775
for range n {
6876
err = c.readReply()

0 commit comments

Comments
 (0)