summaryrefslogtreecommitdiffstats
path: root/src/phonebook.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-08-12 19:37:29 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-08-12 19:49:23 -0500
commit715067d38d5e123adb27760614da43c9043fdb12 (patch)
tree7337ce5a1bf496f74afa7b7c41a561cf77dfa8ab /src/phonebook.c
parent70b758f8be7d348617e4aecae91202952b56dc9a (diff)
downloadofono-715067d38d5e123adb27760614da43c9043fdb12.tar.bz2
Fix a segfault in need_merge
Diffstat (limited to 'src/phonebook.c')
-rw-r--r--src/phonebook.c18
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;
}