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-23 19:10:57 +0200
commit8fcf5e0bde4bac3905c3f5967ac200d2da87b8f0 (patch)
tree618f18c07c87831ea2ae9d852e01a20c411fe33d
parent75b63dcfac7b4589243b9ee9bdd833a2aa2c8e4d (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 c4bbc189..a1f6624b 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -2821,6 +2821,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) {