diff options
author | Ben Chan <benchan@chromium.org> | 2013-04-04 12:40:10 -0700 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-04-05 08:10:26 +0200 |
commit | 76ecc1301af4a19d1bef31d320c79edb4ce013a2 (patch) | |
tree | b3fd7191a5fc70ad9f81622f4ab55d1546c88b60 | |
parent | 5554658cd2c87d92156f8224db50ccc5f58950a6 (diff) |
broadband-bearer: handle NULL and character escaping of APN value
-rw-r--r-- | src/mm-broadband-bearer.c | 8 |
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, |