aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Chan <benchan@chromium.org>2013-04-04 12:40:10 -0700
committerAleksander Morgado <aleksander@lanedo.com>2013-04-05 08:10:26 +0200
commit76ecc1301af4a19d1bef31d320c79edb4ce013a2 (patch)
treeb3fd7191a5fc70ad9f81622f4ab55d1546c88b60
parent5554658cd2c87d92156f8224db50ccc5f58950a6 (diff)
broadband-bearer: handle NULL and character escaping of APN value
-rw-r--r--src/mm-broadband-bearer.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mm-broadband-bearer.c b/src/mm-broadband-bearer.c
index c34867d3..f380289f 100644
--- a/src/mm-broadband-bearer.c
+++ b/src/mm-broadband-bearer.c
@@ -753,7 +753,7 @@ find_cid_ready (MMBaseModem *modem,
DetailedConnectContext *ctx)
{
GVariant *result;
- gchar *command;
+ gchar *apn, *command;
GError *error = NULL;
const gchar *pdp_type;
@@ -783,10 +783,12 @@ find_cid_ready (MMBaseModem *modem,
}
ctx->cid = g_variant_get_uint32 (result);
- command = g_strdup_printf ("+CGDCONT=%u,\"%s\",\"%s\"",
+ apn = mm_at_serial_port_quote_string (mm_bearer_properties_get_apn (mm_bearer_peek_config (MM_BEARER (ctx->self))));
+ command = g_strdup_printf ("+CGDCONT=%u,\"%s\",%s",
ctx->cid,
pdp_type,
- mm_bearer_properties_get_apn (mm_bearer_peek_config (MM_BEARER (ctx->self))));
+ apn);
+ g_free (apn);
mm_base_modem_at_command_full (ctx->modem,
ctx->primary,
command,