Fix implicit integer sign changes in strencodings

This commit is contained in:
MarcoFalke committed 2021-12-13 09:57:33 +01:00
1 parent eb63b8fab9
commit fad6761cf7
3 files changed
+6 -8

No files matched your search

+5 -5
View File
@@ -92,7 +92,7 @@ std::vector<unsigned char> ParseHex(const char* psz)
signed char c = HexDigit(*psz++);
if (c == (signed char)-1)
break;
unsigned char n = (c << 4);
auto n{uint8_t(c << 4)};
c = HexDigit(*psz++);
if (c == (signed char)-1)
break;
@@ -164,7 +164,7 @@ std::vector<unsigned char> DecodeBase64(const char* p, bool* pf_invalid)
while (*p != 0) {
int x = decode64_table[(unsigned char)*p];
if (x == -1) break;
val.push_back(x);
val.push_back(uint8_t(x));
++p;
}
@@ -243,7 +243,7 @@ std::vector<unsigned char> DecodeBase32(const char* p, bool* pf_invalid)
while (*p != 0) {
int x = decode32_table[(unsigned char)*p];
if (x == -1) break;
val.push_back(x);
val.push_back(uint8_t(x));
++p;
}
@@ -491,14 +491,14 @@ bool ParseFixedPoint(const std::string &val, int decimals, int64_t *amount_out)
std::string ToLower(const std::string& str)
{
std::string r;
for (auto ch : str) r += ToLower((unsigned char)ch);
for (auto ch : str) r += ToLower(ch);
return r;
}
std::string ToUpper(const std::string& str)
{
std::string r;
for (auto ch : str) r += ToUpper((unsigned char)ch);
for (auto ch : str) r += ToUpper(ch);
return r;
}
+1 -1
View File
@@ -226,7 +226,7 @@ bool TimingResistantEqual(const T& a, const T& b)
if (b.size() == 0) return a.size() == 0;
size_t accumulator = a.size() ^ b.size();
for (size_t i = 0; i < a.size(); i++)
accumulator |= a[i] ^ b[i%b.size()];
accumulator |= size_t(a[i] ^ b[i%b.size()]);
return accumulator == 0;
}
-2
View File
@@ -76,8 +76,6 @@ implicit-integer-sign-change:test/skiplist_tests.cpp
implicit-integer-sign-change:test/streams_tests.cpp
implicit-integer-sign-change:test/transaction_tests.cpp
implicit-integer-sign-change:txmempool.cpp
implicit-integer-sign-change:util/strencodings.cpp
implicit-integer-sign-change:util/strencodings.h
implicit-integer-sign-change:validation.cpp
implicit-integer-sign-change:zmq/zmqpublishnotifier.cpp
implicit-signed-integer-truncation,implicit-integer-sign-change:chain.h