Accept empty pkt-line data packets · Entire
Accept empty pkt-line data packets
1481b28→main·
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" +