From 3342af770aeaec51735a68c2bebd074d008868ff Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 24 Oct 2010 17:14:16 +0200 Subject: gprs: Handle failure of GPRS context atom drivers The GRPS context atom drivers can return an error from their probe callbacks. In that case gc->driver is NULL and will cause a crash when trying to activate a context. So check that there is actually a driver attached to that GPRS context. --- src/gprs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gprs.c b/src/gprs.c index 3f085ed3..f44838a8 100644 --- a/src/gprs.c +++ b/src/gprs.c @@ -714,7 +714,8 @@ static DBusMessage *pri_set_property(DBusConnection *conn, if (g_str_equal(property, "Active")) { struct ofono_gprs_context *gc = ctx->gprs->context_driver; - if (gc == NULL || gc->driver->activate_primary == NULL || + if (gc == NULL || gc->driver == NULL || + gc->driver->activate_primary == NULL || gc->driver->deactivate_primary == NULL || ctx->gprs->cid_map == NULL) return __ofono_error_not_implemented(msg); -- cgit v1.2.3