diff options
author | Marc Mutz <marc.mutz@qt.io> | 2023-12-12 20:51:56 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2023-12-13 21:54:00 +0100 |
commit | 658607a34ead214fbacbc2cca44915655c318ea9 (patch) | |
tree | 929c4f0b0b892ef1ed9916b74c8fb3f71f5fd82b | |
parent | 46923f2648ba99b3d070ea077f04047172ba4923 (diff) |
HPack: fix a Yoda Condition
Putting the variable on the LHS of a relational operation makes the
expression easier to read. In this case, we find that the whole
expression is nonsensical as an overflow protection, because if
name.size() + value.size() overflows, the result will exactly _not_
be > max() - 32, because UB will have happened.
To be fixed in a follow-up commit.
As a drive-by, add parentheses around the RHS.
Pick-to: 6.7 6.6 6.5 6.2 5.15
Change-Id: I35ce598884c37c51b74756b3bd2734b9aad63c09
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r-- | src/network/access/http2/hpacktable.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/network/access/http2/hpacktable.cpp b/src/network/access/http2/hpacktable.cpp index 74a09a207f..c8c5d098c8 100644 --- a/src/network/access/http2/hpacktable.cpp +++ b/src/network/access/http2/hpacktable.cpp @@ -27,7 +27,7 @@ HeaderSize entry_size(QByteArrayView name, QByteArrayView value) // 32 octets of overhead." const unsigned sum = unsigned(name.size() + value.size()); - if (std::numeric_limits<unsigned>::max() - 32 < sum) + if (sum > (std::numeric_limits<unsigned>::max() - 32)) return HeaderSize(); return HeaderSize(true, quint32(sum + 32)); } |