summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNishanth V <nishanth.v@intel.com>2016-04-18 20:45:07 +0530
committerDenis Kenzior <denkenz@gmail.com>2016-04-19 20:53:29 -0500
commitb44f59e5e48742f32085fa47b4bac6ef25edc6fc (patch)
treeb688d9bc91fef8545da8c5ab39855fa8cbbab21c
parentdb7faf0ad3a081fe1069fd148b5c54ee942b7786 (diff)
downloadofono-b44f59e5e48742f32085fa47b4bac6ef25edc6fc.tar.gz
gprs-context: fix set ipv4 netmask for rilmodem
-rw-r--r--drivers/rilmodem/gprs-context.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/rilmodem/gprs-context.c b/drivers/rilmodem/gprs-context.c
index f0a687d8..2bc64459 100644
--- a/drivers/rilmodem/gprs-context.c
+++ b/drivers/rilmodem/gprs-context.c
@@ -275,6 +275,7 @@ static void ril_setup_data_call_cb(struct ril_msg *message, gpointer user_data)
if (raw_addrs) {
char **ip_addrs = g_strsplit(raw_addrs, " ", 3);
char **split_ip_addr;
+ char *netmask;
if (ip_addrs == NULL || g_strv_length(ip_addrs) == 0) {
g_strfreev(ip_addrs);
@@ -292,6 +293,9 @@ static void ril_setup_data_call_cb(struct ril_msg *message, gpointer user_data)
* explicitly strip any prefix after calculating the netmask
*/
split_ip_addr = g_strsplit(ip_addrs[0], "/", 2);
+
+ netmask = ril_util_get_netmask(ip_addrs[0]);
+
g_strfreev(ip_addrs);
if (split_ip_addr == NULL ||
@@ -300,8 +304,7 @@ static void ril_setup_data_call_cb(struct ril_msg *message, gpointer user_data)
goto error_free;
}
- ofono_gprs_context_set_ipv4_netmask(gc,
- ril_util_get_netmask(split_ip_addr[0]));
+ ofono_gprs_context_set_ipv4_netmask(gc, netmask);
ofono_gprs_context_set_ipv4_address(gc, split_ip_addr[0], TRUE);
}