Skip to content

Commit c24380c

Browse files
krawthekrowdavidben
authored andcommitted
fix parse error for z_sender_sockaddr
1 parent 32b16d1 commit c24380c

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

notice.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,13 @@ func DecodeRawNotice(r *RawNotice) (*Notice, error) {
248248

249249
var senderAddress net.IP
250250
if len(r.HeaderFields) > senderSockaddrIndex {
251-
ipBytes, err := DecodeZcode(r.HeaderFields[senderSockaddrIndex])
251+
sockaddrField := r.HeaderFields[senderSockaddrIndex]
252+
var ipBytes []byte
253+
if len(sockaddrField) != 0 && sockaddrField[0] == 'Z' {
254+
ipBytes, err = DecodeZcode(sockaddrField)
255+
} else {
256+
ipBytes, err = DecodeZAscii(sockaddrField)
257+
}
252258
if err != nil {
253259
return nil, err
254260
}

raw_notice.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ const (
130130
multipartIndex // string
131131
multiuidIndex // 12-byte zascii
132132
// Added in 2009; no version bump
133-
senderSockaddrIndex // zcode
133+
senderSockaddrIndex // zcode or zascii
134134
charsetIndex // zascii16 little-endian
135135
// Other fields
136136
numKnownFields

0 commit comments

Comments
 (0)