1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-03 05:18:29 +03:00

coverity: drop abadoing object

As mempool is destroyed on by caller don't bother for
mempool freeing here.
This commit is contained in:
Zdenek Kabelac 2016-04-21 20:55:23 +02:00
parent 0bf5518626
commit 8c4b717f4d

View File

@ -4610,10 +4610,10 @@ static int _check_devs_used_correspond_with_lv(struct dm_pool *mem, struct dm_li
found_inconsistent = 1; found_inconsistent = 1;
} else { } else {
if (!dm_pool_grow_object(mem, DEV_LIST_DELIM, sizeof(DEV_LIST_DELIM) - 1)) if (!dm_pool_grow_object(mem, DEV_LIST_DELIM, sizeof(DEV_LIST_DELIM) - 1))
goto_bad; return_0;
} }
if (!dm_pool_grow_object(mem, dev_name(dev), 0)) if (!dm_pool_grow_object(mem, dev_name(dev), 0))
goto_bad; return_0;
} }
} }
@ -4621,7 +4621,7 @@ static int _check_devs_used_correspond_with_lv(struct dm_pool *mem, struct dm_li
return 1; return 1;
if (!dm_pool_grow_object(mem, "\0", 1)) if (!dm_pool_grow_object(mem, "\0", 1))
goto_bad; return_0;
used_devnames = dm_pool_end_object(mem); used_devnames = dm_pool_end_object(mem);
found_inconsistent = 0; found_inconsistent = 0;
@ -4630,9 +4630,9 @@ static int _check_devs_used_correspond_with_lv(struct dm_pool *mem, struct dm_li
if (seg_type(seg, s) == AREA_PV) { if (seg_type(seg, s) == AREA_PV) {
if (!(dev = seg_dev(seg, s))) { if (!(dev = seg_dev(seg, s))) {
log_error("Couldn't find device for segment belonging to " log_error("Couldn't find device for segment belonging to "
"%s/%s while checking used and assumed devices.", "%s while checking used and assumed devices.",
lv->vg->name, lv->name); display_lvname(lv));
goto bad; return 0;
} }
if (!(dev->flags & DEV_USED_FOR_LV)) { if (!(dev->flags & DEV_USED_FOR_LV)) {
if (!found_inconsistent) { if (!found_inconsistent) {
@ -4640,10 +4640,10 @@ static int _check_devs_used_correspond_with_lv(struct dm_pool *mem, struct dm_li
found_inconsistent = 1; found_inconsistent = 1;
} else { } else {
if (!dm_pool_grow_object(mem, DEV_LIST_DELIM, sizeof(DEV_LIST_DELIM) - 1)) if (!dm_pool_grow_object(mem, DEV_LIST_DELIM, sizeof(DEV_LIST_DELIM) - 1))
goto_bad; return_0;
} }
if (!dm_pool_grow_object(mem, dev_name(dev), 0)) if (!dm_pool_grow_object(mem, dev_name(dev), 0))
goto bad; return_0;
} }
} }
} }
@ -4651,20 +4651,14 @@ static int _check_devs_used_correspond_with_lv(struct dm_pool *mem, struct dm_li
if (found_inconsistent) { if (found_inconsistent) {
if (!dm_pool_grow_object(mem, "\0", 1)) if (!dm_pool_grow_object(mem, "\0", 1))
goto_bad; return_0;
assumed_devnames = dm_pool_end_object(mem); assumed_devnames = dm_pool_end_object(mem);
} }
log_warn("WARNING: Device mismatch detected for %s/%s which is accessing %s instead of %s.", log_warn("WARNING: Device mismatch detected for %s which is accessing %s instead of %s.",
lv->vg->name, lv->name, used_devnames, assumed_devnames); display_lvname(lv), used_devnames, assumed_devnames);
/* This also frees assumed_devnames. */
dm_pool_free(mem, (void *) used_devnames);
return 1; return 1;
bad:
if (found_inconsistent)
dm_pool_abandon_object(mem);
return 0;
} }
static int _check_devs_used_correspond_with_vg(struct volume_group *vg) static int _check_devs_used_correspond_with_vg(struct volume_group *vg)