summaryrefslogtreecommitdiffstats
path: root/src/cbs.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-01-20 21:35:33 -0600
committerDenis Kenzior <denkenz@gmail.com>2010-01-20 21:35:33 -0600
commit675ef623c7103c8b909bb777800e948148b6243b (patch)
treee8acc6d351de7d96422d82d2c75e03655f3bff15 /src/cbs.c
parent03fd69ace9d7c55834b0ecb5b7e1e2847d5ede1c (diff)
downloadofono-675ef623c7103c8b909bb777800e948148b6243b.tar.bz2
Fix: Process CBS settings even if no EFcbmid
If EFcbmid is not present, corrupt or empty the code that bootstraps the CBS settings is never called.
Diffstat (limited to 'src/cbs.c')
-rw-r--r--src/cbs.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cbs.c b/src/cbs.c
index ebfb698d..8116c6a4 100644
--- a/src/cbs.c
+++ b/src/cbs.c
@@ -832,10 +832,10 @@ static void sim_cbmid_read_cb(int ok, int length, int record,
GSList *contents = NULL;
if (!ok)
- return;
+ goto done;
if ((length % 2) == 1 || length < 2)
- return;
+ goto done;
cbs->efcbmid_length = length;
@@ -855,7 +855,7 @@ static void sim_cbmid_read_cb(int ok, int length, int record,
}
if (contents == NULL)
- return;
+ goto done;
cbs->efcbmid_contents = g_slist_reverse(contents);
@@ -863,6 +863,7 @@ static void sim_cbmid_read_cb(int ok, int length, int record,
ofono_debug("Got cbmid: %s", str);
g_free(str);
+done:
cbs_got_file_contents(cbs);
}