diff --git a/src/common.c b/src/common.c index a9166bf9..14bf7f98 100644 --- a/src/common.c +++ b/src/common.c @@ -241,12 +241,12 @@ gboolean valid_phone_number_format(const char *number) if (!len) return FALSE; - if (len > OFONO_MAX_PHONE_NUMBER_LENGTH) - return FALSE; - if (number[0] == '+') begin = 1; + if ((len - begin) > OFONO_MAX_PHONE_NUMBER_LENGTH) + return FALSE; + for (i = begin; i < len; i++) { if (number[i] >= '0' && number[i] <= '9') continue;