--- include/types.h | 2 +- src/common.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/include/types.h b/include/types.h index ba2481f..b3d2247 100644 --- a/include/types.h +++ b/include/types.h @@ -76,7 +76,7 @@ struct ofono_error { int error; }; -#define OFONO_MAX_PHONE_NUMBER_LENGTH 20 +#define OFONO_MAX_PHONE_NUMBER_LENGTH 120 struct ofono_phone_number { char number[OFONO_MAX_PHONE_NUMBER_LENGTH + 1]; diff --git a/src/common.c b/src/common.c index b5b9a6f..de5a508 100644 --- a/src/common.c +++ b/src/common.c @@ -253,7 +253,7 @@ gboolean valid_phone_number_format(const char *number) if (number[i] >= '0' && number[i] <= '9') continue; - if (number[i] == '*' || number[i] == '#') + if (number[i] == '*' || number[i] == '#' || number[i] == 'p') continue; return FALSE; @@ -379,18 +379,18 @@ int mmi_service_code_to_bearer_class(int code) const char *phone_number_to_string(const struct ofono_phone_number *ph) { - static char buffer[64]; + static char buffer[(OFONO_MAX_PHONE_NUMBER_LENGTH + 1) + 1]; if (ph->type == 145 && (strlen(ph->number) > 0) && ph->number[0] != '+') { buffer[0] = '+'; - strncpy(buffer + 1, ph->number, 62); - buffer[63] = '\0'; + strncpy(buffer + 1, ph->number, sizeof(buffer) - 2); } else { - strncpy(buffer, ph->number, 63); - buffer[63] = '\0'; + strncpy(buffer, ph->number, sizeof(buffer) - 1); } + buffer[sizeof(buffer) - 1] = '\0'; + return buffer; } -- 1.7.0.4 _______________________________________________ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono