diff --git a/src/cups-pk-helper-mechanism.c b/src/cups-pk-helper-mechanism.c index 273c262..8b3d781 100644 --- a/src/cups-pk-helper-mechanism.c +++ b/src/cups-pk-helper-mechanism.c @@ -205,6 +205,8 @@ register_mechanism (CphMechanism *mechanism) { GError *error; + g_return_val_if_fail (CPH_IS_MECHANISM (mechanism), FALSE); + mechanism->priv->pol_auth = polkit_authority_get (); error = NULL; @@ -238,7 +240,8 @@ cph_mechanism_new (void) object = g_object_new (CPH_TYPE_MECHANISM, NULL); if (!register_mechanism (CPH_MECHANISM (object))) { - g_object_unref (object); + if (object) + g_object_unref (object); return NULL; }