aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2010-04-24 23:12:16 -0700
committerDan Williams <dcbw@redhat.com>2010-04-24 23:12:16 -0700
commit01cb6360f8bdf9b7d844257938f7bb2a016f404c (patch)
tree2e3c4bed62f7bb41ca47f0dbd25a49a497bb92f1 /src
parent44deca2c5a9b7414d2e65fc62f87f67df3066810 (diff)
cdma: prevent crash on modem removal (rh #571921)
Diffstat (limited to 'src')
-rw-r--r--src/mm-generic-cdma.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mm-generic-cdma.c b/src/mm-generic-cdma.c
index d0140507..f73b434d 100644
--- a/src/mm-generic-cdma.c
+++ b/src/mm-generic-cdma.c
@@ -1847,10 +1847,9 @@ simple_state_machine (MMModem *modem, GError *error, gpointer user_data)
const char *str;
guint id;
- if (error) {
- info->error = g_error_copy (error);
+ info->error = mm_modem_check_removed (modem, error);
+ if (info->error)
goto out;
- }
switch (state) {
case SIMPLE_STATE_BEGIN:
@@ -1885,7 +1884,8 @@ simple_state_machine (MMModem *modem, GError *error, gpointer user_data)
out:
if (info->error || state == SIMPLE_STATE_DONE) {
- registration_cleanup (MM_GENERIC_CDMA (modem), 0, 0);
+ if (modem)
+ registration_cleanup (MM_GENERIC_CDMA (modem), 0, 0);
mm_callback_info_schedule (info);
}
}