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.
This commit is contained in:
Marcel Holtmann 2010-10-24 17:14:16 +02:00
parent 9bebe654e3
commit 3342af770a
1 changed files with 2 additions and 1 deletions

View File

@ -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);