From fc99af27821418f712c126062a03558199e9d89a Mon Sep 17 00:00:00 2001 From: modality Date: Sat, 29 Jun 2013 10:10:15 +0200 Subject: [PATCH] fix parsing of GOOG128 type (len>=26) --- types/id.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/types/id.cc b/types/id.cc index 37280828..9ef0bd90 100644 --- a/types/id.cc +++ b/types/id.cc @@ -184,7 +184,7 @@ parse(const char * value, size_t len, Type type) } if ((type == UNKNOWN || type == GOOG128) - && len == 26 && value[0] == 'C' && value[1] == 'A' + && len >= 26 && value[0] == 'C' && value[1] == 'A' && value[2] == 'E' && value[3] == 'S' && value[4] == 'E') { // Google ID: --> CAESEAYra3NIxLT9C8twKrzqaA @@ -206,8 +206,8 @@ parse(const char * value, size_t len, Type type) else return -1; }; - bool error = false; - for (unsigned i = 5; i < 26 && !error; ++i) { + auto error = false; + for (auto i = 5; i < len && !error; ++i) { int v = b64Decode(value[i]); if (v == -1) error = true; res = (res << 6) | v;