Skip to content

Commit

Permalink
fix(baggage): validate chars panic with 0x80
Browse files Browse the repository at this point in the history
  • Loading branch information
fabiobozzo committed Jun 6, 2024
1 parent 59bbe11 commit 1bea337
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions baggage/baggage.go
Original file line number Diff line number Diff line change
Expand Up @@ -735,7 +735,7 @@ func validateKey(s string) bool {
}

func validateKeyChar(c int32) bool {
return c >= 0 && c <= int32(utf8.RuneSelf) && safeKeyCharset[c]
return c >= 0 && c < int32(utf8.RuneSelf) && safeKeyCharset[c]
}

func validateValue(s string) bool {
Expand Down Expand Up @@ -850,7 +850,7 @@ var safeValueCharset = [utf8.RuneSelf]bool{
}

func validateValueChar(c int32) bool {
return c >= 0 && c <= int32(utf8.RuneSelf) && safeValueCharset[c]
return c >= 0 && c < int32(utf8.RuneSelf) && safeValueCharset[c]
}

// valueEscape escapes the string so it can be safely placed inside a baggage value,
Expand Down
4 changes: 2 additions & 2 deletions baggage/baggage_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func TestValidateKeyChar(t *testing.T) {
'\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17',
'\x18', '\x19', '\x1A', '\x1B', '\x1C', '\x1D', '\x1E', '\x1F', ' ',
'(', ')', '<', '>', '@', ',', ';', ':', '\\', '"', '/', '[', ']', '?',
'=', '{', '}', '\x7F', 2 >> 20,
'=', '{', '}', '\x7F', 2 >> 20, '\x80',
}

for _, ch := range invalidKeyRune {
Expand All @@ -46,7 +46,7 @@ func TestValidateValueChar(t *testing.T) {
'\x08', '\x09', '\x0A', '\x0B', '\x0C', '\x0D', '\x0E', '\x0F',
'\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17',
'\x18', '\x19', '\x1A', '\x1B', '\x1C', '\x1D', '\x1E', '\x1F', ' ',
'"', ',', ';', '\\', '\x7F',
'"', ',', ';', '\\', '\x7F', '\x80',
}

for _, ch := range invalidValueRune {
Expand Down

0 comments on commit 1bea337

Please sign in to comment.