Fixed string_ref usage bug in epee::from_hex::vector

release-0.8.0.2
Lee Clagett 4 years ago committed by wowario
parent 3278e86ed8
commit b7be110ec3
No known key found for this signature in database
GPG Key ID: 24DCBE762DE9C111

@ -141,7 +141,7 @@ namespace epee
result.reserve(count / 2); result.reserve(count / 2);
// the data to work with (std::string is always null-terminated) // the data to work with (std::string is always null-terminated)
auto data = src.data(); auto data = src.begin();
// convert a single hex character to an unsigned integer // convert a single hex character to an unsigned integer
auto char_to_int = [](const char *input) { auto char_to_int = [](const char *input) {
@ -167,9 +167,9 @@ namespace epee
}; };
// keep going until we reach the end // keep going until we reach the end
while (data[0] != '\0') { while (data != src.end()) {
// skip unwanted characters // skip unwanted characters
if (!include(data[0])) { if (!include(*data)) {
++data; ++data;
continue; continue;
} }

@ -841,6 +841,9 @@ TEST(HexLocale, String)
// decoding it this way also, ignoring spaces and colons between the numbers // decoding it this way also, ignoring spaces and colons between the numbers
hex.assign("00:ff 0f:f0"); hex.assign("00:ff 0f:f0");
EXPECT_EQ(source, epee::from_hex_locale::to_vector(hex)); EXPECT_EQ(source, epee::from_hex_locale::to_vector(hex));
hex.append("f0");
EXPECT_EQ(source, epee::from_hex_locale::to_vector(boost::string_ref{hex.data(), hex.size() - 2}));
} }
TEST(ToHex, Array) TEST(ToHex, Array)

Loading…
Cancel
Save