Use unsigned type as index for array. Use uint8_t instead of char as an index for std::array<> in buildInvalidHeaderKeyCharLookupTable() and IsInvalidHeaderKeyChar(). Envoy has signed char, so this change is necessary to ensure that the index is within bounds. PiperOrigin-RevId: 446460704
diff --git a/quiche/common/balsa/balsa_frame.cc b/quiche/common/balsa/balsa_frame.cc index 3762772..b148a42 100644 --- a/quiche/common/balsa/balsa_frame.cc +++ b/quiche/common/balsa/balsa_frame.cc
@@ -37,13 +37,13 @@ std::array<bool, 256> buildInvalidHeaderKeyCharLookupTable() { std::array<bool, 256> invalidCharTable; invalidCharTable.fill(false); - for (char c : BalsaFrame::kInvalidHeaderKeyCharList) { + for (uint8_t c : BalsaFrame::kInvalidHeaderKeyCharList) { invalidCharTable[c] = true; } return invalidCharTable; } -inline bool IsInvalidHeaderKeyChar(char c) { +inline bool IsInvalidHeaderKeyChar(uint8_t c) { static const std::array<bool, 256> invalidHeaderKeyCharTable = buildInvalidHeaderKeyCharLookupTable();