diff options
author | Denis Kenzior <denkenz@gmail.com> | 2009-08-12 19:37:29 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-08-12 19:49:23 -0500 |
commit | 715067d38d5e123adb27760614da43c9043fdb12 (patch) | |
tree | 7337ce5a1bf496f74afa7b7c41a561cf77dfa8ab /src/phonebook.c | |
parent | 70b758f8be7d348617e4aecae91202952b56dc9a (diff) | |
download | ofono-715067d38d5e123adb27760614da43c9043fdb12.tar.bz2 |
Fix a segfault in need_merge
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; } |