summaryrefslogtreecommitdiffstats
path: root/drivers/isimodem/phonebook.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isimodem/phonebook.c')
-rw-r--r--drivers/isimodem/phonebook.c12
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 = {