summaryrefslogtreecommitdiffstats
path: root/src/network.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-01-13 11:40:15 -0600
committerDenis Kenzior <denkenz@gmail.com>2010-01-13 11:40:15 -0600
commitd9bb71e521de61bc8c2900ddd82e2bfcdd9cf97d (patch)
treeccd9298e0e2a47e0200472d24903f77a4491a1c8 /src/network.c
parent506eb11b02ba992c5da843eb5bb096936009b19f (diff)
downloadofono-d9bb71e521de61bc8c2900ddd82e2bfcdd9cf97d.tar.bz2
Fix: Don't try to unregister a null mcc/mnc
Network operators with null MCC & MNC are not registered, but we try to unregister them. Don't do this as it causes a crash.
Diffstat (limited to 'src/network.c')
-rw-r--r--src/network.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/network.c b/src/network.c
index 69959c5e..8b4eb09e 100644
--- a/src/network.c
+++ b/src/network.c
@@ -1607,8 +1607,14 @@ static void netreg_unregister(struct ofono_atom *atom)
__ofono_watchlist_free(netreg->status_watches);
netreg->status_watches = NULL;
- for (l = netreg->operator_list; l; l = l->next)
+ for (l = netreg->operator_list; l; l = l->next) {
+ struct network_operator_data *opd = l->data;
+
+ if (opd->mcc[0] == '\0' && opd->mnc[0] == '\0')
+ continue;
+
network_operator_dbus_unregister(netreg, l->data);
+ }
g_slist_free(netreg->operator_list);
netreg->operator_list = NULL;