diff --git a/src/lib/eval/token.cc b/src/lib/eval/token.cc index bef3b32723..ea01f11a76 100644 --- a/src/lib/eval/token.cc +++ b/src/lib/eval/token.cc @@ -29,19 +29,14 @@ TokenString::evaluate(const Pkt& /*pkt*/, ValueStack& values) { } TokenHexString::TokenHexString(const string& str) : value_("") { - // Check "0x" or "0x" in front - if ((str.size() < 2) || + // Check string starts "0x" or "0x" and has at least one additional character. + if ((str.size() < 3) || (str[0] != '0') || ((str[1] != 'x') && (str[1] != 'X'))) { return; } string digits = str.substr(2); - // Eliminate the no digit case first - if (digits.empty()) { - return; - } - // Transform string of hexadecimal digits into binary format vector binary; try {