Skip to content

Commit 61c53f3

Browse files
Trottdanielleadams
authored andcommitted
tools: update inspector_protocol to fe0467fd105a
Refs: https://chromium.googlesource.com/deps/inspector_protocol/+log PR-URL: #39694 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent 34a041a commit 61c53f3

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

tools/inspector_protocol/lib/encoding_cpp.template

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -850,14 +850,15 @@ void CBORTokenizer::ReadNextToken(bool enter_envelope) {
850850
return;
851851
case MajorType::NEGATIVE: { // INT32.
852852
// INT32 is a signed int32 (int32 makes sense for the
853-
// inspector_protocol, it's not a CBOR limitation); in CBOR,
854-
// the negative values for INT32 are represented as NEGATIVE,
855-
// that is, -1 INT32 is represented as 1 << 5 | 0 (major type 1,
856-
// additional info value 0). So here, we compute the INT32 value
857-
// and then check it against the INT32 min.
858-
int64_t actual_value =
859-
-static_cast<int64_t>(token_start_internal_value_) - 1;
860-
if (!success || actual_value < std::numeric_limits<int32_t>::min()) {
853+
// inspector_protocol, it's not a CBOR limitation); in CBOR, the
854+
// negative values for INT32 are represented as NEGATIVE, that is, -1
855+
// INT32 is represented as 1 << 5 | 0 (major type 1, additional info
856+
// value 0). The minimal allowed INT32 value in our protocol is
857+
// std::numeric_limits<int32_t>::min(). We check for it by directly
858+
// checking the payload against the maximal allowed signed (!) int32
859+
// value.
860+
if (!success || token_start_internal_value_ >
861+
std::numeric_limits<int32_t>::max()) {
861862
SetError(Error::CBOR_INVALID_INT32);
862863
return;
863864
}
@@ -1864,7 +1865,7 @@ class JsonParser {
18641865
// If the |Char| we're dealing with is really a byte, then
18651866
// we have utf8 here, and we need to check for multibyte characters
18661867
// and transcode them to utf16 (either one or two utf16 chars).
1867-
if (sizeof(Char) == sizeof(uint8_t) && c >= 0x7f) {
1868+
if (sizeof(Char) == sizeof(uint8_t) && c > 0x7f) {
18681869
// Inspect the leading byte to figure out how long the utf8
18691870
// byte sequence is; while doing this initialize |codepoint|
18701871
// with the first few bits.
@@ -1903,7 +1904,7 @@ class JsonParser {
19031904
// Disallow overlong encodings for ascii characters, as these
19041905
// would include " and other characters significant to JSON
19051906
// string termination / control.
1906-
if (codepoint < 0x7f)
1907+
if (codepoint <= 0x7f)
19071908
return false;
19081909
// Invalid in UTF8, and can't be represented in UTF16 anyway.
19091910
if (codepoint > 0x10ffff)

0 commit comments

Comments
 (0)