summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2019-06-28 13:26:11 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2019-07-06 01:24:28 +0200
commit23478d9d2161d1233d0dde1ca40c81d47292bd87 (patch)
tree6a038ec6beed8671f756dce8fcd464a137a5ad63
parentb0e1019add988b91fb41355566a34a3b2e182569 (diff)
downloadlvm2-23478d9d2161d1233d0dde1ca40c81d47292bd87.tar.gz
cov: release iterator on error path
Another missed release on error path.
-rw-r--r--lib/label/label.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/label/label.c b/lib/label/label.c
index a535bd4d3..bc31a7c67 100644
--- a/lib/label/label.c
+++ b/lib/label/label.c
@@ -912,7 +912,7 @@ int label_scan(struct cmd_context *cmd)
if (!scan_bcache) {
if (!_setup_bcache(dm_list_size(&all_devs)))
- return 0;
+ return_0;
}
_scan_list(cmd, cmd->full_filter, &all_devs, NULL);
@@ -987,8 +987,11 @@ int label_scan_pvscan_all(struct cmd_context *cmd, struct dm_list *scan_devs)
}
while ((dev = dev_iter_get(iter))) {
- if (!(devl = dm_zalloc(sizeof(*devl))))
+ if (!(devl = dm_zalloc(sizeof(*devl)))) {
+ log_error("Failed to allocated device list.");
+ dev_iter_destroy(iter);
return 0;
+ }
devl->dev = dev;
dm_list_add(&all_devs, &devl->list);
@@ -1013,7 +1016,7 @@ int label_scan_pvscan_all(struct cmd_context *cmd, struct dm_list *scan_devs)
if (!scan_bcache) {
if (!_setup_bcache(dm_list_size(&all_devs)))
- return 0;
+ return_0;
}
_scan_list(cmd, cmd->lvmetad_filter, &all_devs, NULL);