diff options
Diffstat (limited to 'drivers/isimodem/phonebook.c')
-rw-r--r-- | drivers/isimodem/phonebook.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/isimodem/phonebook.c b/drivers/isimodem/phonebook.c index 1041070e..dc832c44 100644 --- a/drivers/isimodem/phonebook.c +++ b/drivers/isimodem/phonebook.c @@ -259,7 +259,7 @@ static void isi_export_entries(struct ofono_phonebook *pb, const char *storage, 0, 0 /* filler */ }; - if (!cbd) + if (!cbd || !pbd) goto error; if (strcmp(storage, "SM")) @@ -335,10 +335,12 @@ static void isi_phonebook_remove(struct ofono_phonebook *pb) { struct pb_data *data = ofono_phonebook_get_data(pb); - if (data) { - g_isi_client_destroy(data->client); - g_free(data); - } + if (!data) + return; + + ofono_phonebook_set_data(pb, NULL); + g_isi_client_destroy(data->client); + g_free(data); } static struct ofono_phonebook_driver driver = { |