From: Daniel Wagner <[email protected]>

---
 plugins/session_policy_ivi.c | 31 ++++++++++++++++++++++---------
 1 file changed, 22 insertions(+), 9 deletions(-)

diff --git a/plugins/session_policy_ivi.c b/plugins/session_policy_ivi.c
index 1218523..063e763 100644
--- a/plugins/session_policy_ivi.c
+++ b/plugins/session_policy_ivi.c
@@ -63,6 +63,27 @@ static void cleanup_policy(struct policy_data *policy)
        g_free(policy);
 }
 
+static struct connman_session_config *new_config(void)
+{
+       struct connman_session_config *config;
+
+       config = g_try_new0(struct connman_session_config, 1);
+       if (config == NULL)
+               return NULL;
+
+       config->priority = FALSE;
+       config->roaming_policy = CONNMAN_SESSION_ROAMING_POLICY_DEFAULT;
+       config->type = CONNMAN_SESSION_TYPE_ANY;
+       config->ecall = FALSE;
+       config->allowed_bearers = connman_session_allowed_bearers_any();
+       if (config->allowed_bearers == NULL) {
+               g_free(config);
+               return NULL;
+       }
+
+       return config;
+}
+
 static void selinux_context_reply(unsigned char *context, unsigned int size,
                                        void *user_data)
 {
@@ -82,18 +103,10 @@ static void selinux_context_reply(unsigned char *context, 
unsigned int size,
        if (policy == NULL)
                goto err;
 
-       policy->config = g_try_new0(struct connman_session_config, 1);
+       policy->config = new_config();
        if (policy->config == NULL)
                goto err;
 
-       policy->config->priority = FALSE;
-       policy->config->roaming_policy = CONNMAN_SESSION_ROAMING_POLICY_DEFAULT;
-       policy->config->type = CONNMAN_SESSION_TYPE_ANY;
-       policy->config->ecall = FALSE;
-       policy->config->allowed_bearers = connman_session_allowed_bearers_any();
-       if (policy->config->allowed_bearers == NULL)
-               goto err;
-
        g_hash_table_replace(session_hash, data->session, policy);
 
        (*data->callback)(data->session, policy->config, data->user_data);
-- 
1.7.12.1.382.gb0576a6

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to