fix a bug that eat up the whole memory

here is a test case

	r := bytes.NewBufferString("*2\r\n$3\r\nfoo\r\n$3\r\nbar\r\n")
	dec := resp.New(r)

	switch dec.Type() {
	case resp.ArrayType:
		arr, err := dec.Array()
		if err != nil {
			panic(err)
		}
		arr.String()
	}