From 675ef623c7103c8b909bb777800e948148b6243b Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Wed, 20 Jan 2010 21:35:33 -0600 Subject: [PATCH] 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. --- src/cbs.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/cbs.c b/src/cbs.c index ebfb698..8116c6a 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); } -- 2.7.4