diff options
-rw-r--r-- | src/portable/portabled-image-bus.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/portable/portabled-image-bus.c b/src/portable/portabled-image-bus.c index 1aec2783f1..45dd4ec5ee 100644 --- a/src/portable/portabled-image-bus.c +++ b/src/portable/portabled-image-bus.c @@ -416,6 +416,8 @@ static int bus_image_method_detach( assert(message); + CLEANUP_ARRAY(changes, n_changes, portable_changes_free); + if (sd_bus_message_is_method_call(message, NULL, "DetachWithExtensions")) { r = sd_bus_message_read_strv(message, &extension_images); if (r < 0) @@ -468,13 +470,9 @@ static int bus_image_method_detach( &n_changes, error); if (r < 0) - goto finish; - - r = reply_portable_changes(message, changes, n_changes); + return r; -finish: - portable_changes_free(changes, n_changes); - return r; + return reply_portable_changes(message, changes, n_changes); } int bus_image_common_remove( |