diff --git a/src/nm-checkpoint-manager.c b/src/nm-checkpoint-manager.c index a88c4a763c..1086a0cb46 100644 --- a/src/nm-checkpoint-manager.c +++ b/src/nm-checkpoint-manager.c @@ -161,6 +161,14 @@ nm_checkpoint_manager_create (NMCheckpointManager *self, } } + if (!devices->len) { + g_set_error_literal (error, + NM_MANAGER_ERROR, + NM_MANAGER_ERROR_INVALID_ARGUMENTS, + "no device available"); + return NULL; + } + if (!NM_FLAGS_HAS (flags, NM_CHECKPOINT_CREATE_FLAG_DESTROY_ALL)) { for (i = 0; i < devices->len; i++) { device = devices->pdata[i]; @@ -175,9 +183,7 @@ nm_checkpoint_manager_create (NMCheckpointManager *self, } } - checkpoint = nm_checkpoint_new (manager, devices, rollback_timeout, flags, error); - if (!checkpoint) - return NULL; + checkpoint = nm_checkpoint_new (manager, devices, rollback_timeout, flags); if (NM_FLAGS_HAS (flags, NM_CHECKPOINT_CREATE_FLAG_DESTROY_ALL)) nm_checkpoint_manager_destroy_all (self); diff --git a/src/nm-checkpoint.c b/src/nm-checkpoint.c index ed70ff4bfd..55968843e1 100644 --- a/src/nm-checkpoint.c +++ b/src/nm-checkpoint.c @@ -495,7 +495,7 @@ nm_checkpoint_init (NMCheckpoint *self) NMCheckpoint * nm_checkpoint_new (NMManager *manager, GPtrArray *devices, guint32 rollback_timeout_s, - NMCheckpointCreateFlags flags, GError **error) + NMCheckpointCreateFlags flags) { NMCheckpoint *self; NMCheckpointPrivate *priv; @@ -505,15 +505,7 @@ nm_checkpoint_new (NMManager *manager, GPtrArray *devices, guint32 rollback_time g_return_val_if_fail (manager, NULL); g_return_val_if_fail (devices, NULL); - g_return_val_if_fail (!error || !*error, NULL); - - if (!devices->len) { - g_set_error_literal (error, - NM_MANAGER_ERROR, - NM_MANAGER_ERROR_INVALID_ARGUMENTS, - "no device available"); - return NULL; - } + g_return_val_if_fail (devices->len > 0, NULL); self = g_object_new (NM_TYPE_CHECKPOINT, NULL); diff --git a/src/nm-checkpoint.h b/src/nm-checkpoint.h index 59490322e3..49783ca533 100644 --- a/src/nm-checkpoint.h +++ b/src/nm-checkpoint.h @@ -48,7 +48,7 @@ typedef struct _NMCheckpointClass NMCheckpointClass; GType nm_checkpoint_get_type (void); NMCheckpoint *nm_checkpoint_new (NMManager *manager, GPtrArray *devices, guint32 rollback_timeout, - NMCheckpointCreateFlags flags, GError **error); + NMCheckpointCreateFlags flags); typedef void (*NMCheckpointTimeoutCallback) (NMCheckpoint *self, gpointer user_data);