Browse Source

[4091] Changed to require at least one hexdigit

Francis Dupont 9 years ago
parent
commit
5c780bdd6e
1 changed files with 2 additions and 7 deletions
  1. 2 7
      src/lib/eval/token.cc

+ 2 - 7
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<uint8_t> binary;
     try {