diff options
author | Mika Liljeberg <mika.liljeberg@nokia.com> | 2010-11-10 14:22:28 +0200 |
---|---|---|
committer | Aki Niemi <aki.niemi@nokia.com> | 2010-11-11 09:20:39 +0200 |
commit | 39823fee142013f20b5db60ea4b555098f93c978 (patch) | |
tree | 86619875e962268ab5a747537b25b85599097495 | |
parent | 2ab42201db5ef34cf6e4f9b37a50bc70164e1410 (diff) | |
download | ofono-39823fee142013f20b5db60ea4b555098f93c978.tar.bz2 |
gisi: fix crash bug in g_isi_remove_subscription
-rw-r--r-- | gisi/client.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gisi/client.c b/gisi/client.c index 8ab3dc9f..8e413314 100644 --- a/gisi/client.c +++ b/gisi/client.c @@ -744,16 +744,19 @@ int g_isi_subscribe(GIsiClient *client, uint8_t type, */ void g_isi_remove_subscription(GIsiClient *client, uint8_t res, uint8_t type) { + void *ret; GIsiIndication *ind; unsigned int id = (res << 8) | type; if (!client) return; - ind = tdelete(&id, &client->inds.subs, g_isi_cmp); - if (!ind) + ret = tfind(&id, &client->inds.subs, g_isi_cmp); + if (!ret) return; + ind = *(GIsiIndication **)ret; + tdelete(ind, &client->inds.subs, g_isi_cmp); client->inds.count--; g_free(ind); } |