aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-08-08 10:13:19 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-08-29 17:26:44 +0200
commit7ce6b1296288271c02dbb7d2a85651f87bd244fb (patch)
tree258c81c95c75a14f25d5c5923f26da23f299888a
parent51678e141b74eab4303414db2f3837d02a39a587 (diff)
broadband-modem: validate operator ID before trying to register to it
-rw-r--r--src/mm-broadband-modem.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index 02f2d304..d2cd9692 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -2823,6 +2823,17 @@ modem_3gpp_register_in_network (MMIfaceModem3gpp *self,
MMBroadbandModem *broadband = MM_BROADBAND_MODEM (self);
RegisterIn3gppNetworkContext *ctx;
gchar *command = NULL;
+ GError *error = NULL;
+
+ /* Validate input MCC/MNC */
+ if (operator_id && !mm_3gpp_parse_operator_id (operator_id, NULL, NULL, &error)) {
+ g_assert (error != NULL);
+ g_simple_async_report_take_gerror_in_idle (G_OBJECT (self),
+ callback,
+ user_data,
+ error);
+ return;
+ }
/* (Try to) cancel previous registration request */
if (broadband->priv->modem_3gpp_pending_registration_cancellable) {