diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c index 5f624a36..9e9b09c1 100644 --- a/src/plugins/crypto.c +++ b/src/plugins/crypto.c @@ -2592,6 +2592,7 @@ BDCryptoLUKSInfo* bd_crypto_luks_info (const gchar *device, GError **error) { g_set_error (error, BD_CRYPTO_ERROR, BD_CRYPTO_ERROR_TECH_UNAVAIL, "Unknown or unsupported LUKS version"); bd_crypto_luks_info_free (info); + crypt_free (cd); return NULL; } diff --git a/src/plugins/dm.c b/src/plugins/dm.c index 18024e4f..e4ec3b5a 100644 --- a/src/plugins/dm.c +++ b/src/plugins/dm.c @@ -331,8 +331,10 @@ gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean a dm_task_run (task_list); names = dm_task_get_names (task_list); - if (!names || !names->dev) + if (!names || !names->dev) { + dm_task_destroy (task_list); return FALSE; + } do { names = (void *)names + next;