diff options
Diffstat (limited to 'src/phonebook.c')
-rw-r--r-- | src/phonebook.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/phonebook.c b/src/phonebook.c index 67cd0ec5..6a1a3c54 100644 --- a/src/phonebook.c +++ b/src/phonebook.c @@ -309,11 +309,23 @@ static DBusMessage *generate_export_entries_reply(struct ofono_modem *modem, static gboolean need_merge(const char *text) { - int len = strlen(text); - char c = tolower(text[len-1]); + int len; + char c; + + if (!text) + return FALSE; + + len = strlen(text); + + if (len < 2) + return FALSE; + + c = tolower(text[len-1]); + if ((text[len-2] == '/') && - ((c == 'w') || (c == 'h') || (c == 'm') || (c == 'o'))) + ((c == 'w') || (c == 'h') || (c == 'm') || (c == 'o'))) return TRUE; + return FALSE; } |