# Accept empty pkt-line data packets

`1481b28`→[main](/content/gh/entireio/git-sync/commits/main/index.html)·

pjbgf·2mo ago·2 files·+19 added/-1 removed

## Changes

2

- internal/gitproto

- Mpktline.go+4/-1
  
  - Mpktline_test.go+15

```
60 unmodified lines

61
62
63
64
64
65
66
67
68
69
70
71
72

60 unmodified lines

if err != nil {
		return PacketData, nil, err
	}
	if n <= 4 {
	if n < 4 {
		return PacketData, nil, pktline.ErrInvalidPktLen
	}
	if n == 4 {
		return PacketData, pr.buf[:0], nil
	}

payloadLen := n - 4
	if payloadLen > cap(pr.buf) {
```

Minternal/gitproto/pktline.go+4/-1

```
43 unmodified lines

44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

43 unmodified lines

}
}

func TestPacketReaderHandlesEmptyDataPacket(t *testing.T) {
	reader := NewPacketReader(bytes.NewBufferString("0004"))

kind, payload, err := reader.ReadPacket()
	if err != nil {
		t.Fatalf("read empty data packet: %v", err)
	}
	if kind != PacketData {
		t.Fatalf("kind = %v, want PacketData", kind)
	}
	if len(payload) != 0 {
		t.Fatalf("payload length = %d, want 0", len(payload))
	}
}

func TestDecodeV2Capabilities(t *testing.T) {
	wire := "" +
		"000eversion 2\n" +
