master - coverity: drop unneeded assigns
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=0349b6d889551b33d4b...
Commit: 0349b6d889551b33d4bf26ffaa71dc6c0eb88198
Parent: 419e8284c8b918558b20bc1e2194ad2cbdd5d58b
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Jun 27 11:38:56 2017 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Jun 27 12:15:42 2017 +0200
coverity: drop unneeded assigns
---
tools/command.c | 2 --
tools/reporter.c | 2 +-
tools/toollib.c | 2 +-
3 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/tools/command.c b/tools/command.c
index b8b38ad..5c2ec26 100644
--- a/tools/command.c
+++ b/tools/command.c
@@ -1817,8 +1817,6 @@ void print_usage(struct command *cmd, int longhelp, int desc_first)
}
if (!onereq && cmd->ro_count) {
- first = 1;
-
for (ro = 0; ro < cmd->ro_count; ro++) {
opt_enum = cmd->required_opt_args[ro].opt;
diff --git a/tools/reporter.c b/tools/reporter.c
index b9c4153..ad9d5ee 100644
--- a/tools/reporter.c
+++ b/tools/reporter.c
@@ -1387,7 +1387,7 @@ static int _report(struct cmd_context *cmd, int argc, char **argv, report_type_t
struct single_report_args *single_args = &args.single_args[REPORT_IDX_SINGLE];
static char report_name[] = "report";
struct processing_handle *handle;
- int r = ECMD_FAILED;
+ int r;
/*
* Include foreign VGs that contain active LVs.
diff --git a/tools/toollib.c b/tools/toollib.c
index 622dbf3..452c8b0 100644
--- a/tools/toollib.c
+++ b/tools/toollib.c
@@ -2690,7 +2690,7 @@ static int _lv_props_match(struct cmd_context *cmd, struct logical_volume *lv, u
static int _check_lv_types(struct cmd_context *cmd, struct logical_volume *lv, int pos)
{
- int ret = 1;
+ int ret;
if (!pos)
return 1;
6 years, 10 months
master - coverity: validate length of renaming path
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=419e8284c8b918558b2...
Commit: 419e8284c8b918558b20bc1e2194ad2cbdd5d58b
Parent: 8e790702f12ddcb730f8dc43d3fdccf08e62aa45
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Jun 27 11:37:24 2017 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Jun 27 12:15:42 2017 +0200
coverity: validate length of renaming path
Make sure path fits into buffer on stack.
---
lib/format_text/format-text.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/lib/format_text/format-text.c b/lib/format_text/format-text.c
index 533fece..5d731ca 100644
--- a/lib/format_text/format-text.c
+++ b/lib/format_text/format-text.c
@@ -1043,6 +1043,11 @@ static int _vg_commit_file(struct format_instance *fid, struct volume_group *vg,
if (strcmp(slash, vg->name)) {
len = slash - tc->path_live;
+ if ((len + strlen(vg->name)) > (sizeof(new_name) - 1)) {
+ log_error("Renaming path %s is too long for VG %s.",
+ tc->path_live, vg->name);
+ return 0;
+ }
strncpy(new_name, tc->path_live, len);
strcpy(new_name + len, vg->name);
log_debug_metadata("Renaming %s to %s", tc->path_live, new_name);
6 years, 10 months
master - coverity: check malloc results
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=8e790702f12ddcb730f...
Commit: 8e790702f12ddcb730f8dc43d3fdccf08e62aa45
Parent: e907535ab977ea29319aeb015cec6c06729f7ce4
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Jun 27 10:18:00 2017 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Jun 27 12:15:42 2017 +0200
coverity: check malloc results
---
tools/command.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/command.c b/tools/command.c
index a08d068..b8b38ad 100644
--- a/tools/command.c
+++ b/tools/command.c
@@ -743,7 +743,11 @@ static void add_oo_definition_line(const char *name, const char *line)
char *start;
oo = &oo_lines[oo_line_count++];
- oo->name = dm_strdup(name);
+
+ if (!(oo->name = dm_strdup(name))) {
+ log_error("Failer to duplicate name %s.", name);
+ return; /* FIXME: return code */
+ }
if ((colon = strchr(oo->name, ':')))
*colon = '\0';
@@ -753,7 +757,10 @@ static void add_oo_definition_line(const char *name, const char *line)
}
start = strchr(line, ':') + 2;
- oo->line = dm_strdup(start);
+ if (!(oo->line = dm_strdup(start))) {
+ log_error("Failer to duplicate line %s.", start);
+ return;
+ }
}
/* Support OO_FOO: continuing on multiple lines. */
6 years, 10 months
master - coverity: use better function
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=e907535ab977ea29319...
Commit: e907535ab977ea29319aeb015cec6c06729f7ce4
Parent: e9c60f874ef02c8c5539310223e61e73a8103681
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Jun 27 10:17:33 2017 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Jun 27 12:15:42 2017 +0200
coverity: use better function
---
lib/log/log.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/log/log.c b/lib/log/log.c
index f9d5649..8f52623 100644
--- a/lib/log/log.c
+++ b/lib/log/log.c
@@ -375,8 +375,8 @@ void fin_syslog(void)
void init_msg_prefix(const char *prefix)
{
- strncpy(_msg_prefix, prefix, sizeof(_msg_prefix) - 1);
- _msg_prefix[sizeof(_msg_prefix) - 1] = '\0';
+ if (prefix)
+ dm_strncpy(_msg_prefix, prefix, sizeof(_msg_prefix) - 1);
}
void init_indent(int indent)
6 years, 10 months
master - coverity: extra check for find_pool_seg
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=e9c60f874ef02c8c553...
Commit: e9c60f874ef02c8c5539310223e61e73a8103681
Parent: b939ddf80c7370ae17e26c6d05482be6799245e3
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Jun 27 10:16:13 2017 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Jun 27 12:15:15 2017 +0200
coverity: extra check for find_pool_seg
find_pool_seg may return NULL in some internal error stats.
Handle it explicitely.
---
lib/activate/activate.c | 15 +++++++++------
lib/metadata/lv_manip.c | 5 ++++-
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/lib/activate/activate.c b/lib/activate/activate.c
index b3ed513..d73e8b1 100644
--- a/lib/activate/activate.c
+++ b/lib/activate/activate.c
@@ -1849,12 +1849,15 @@ int monitor_dev_for_events(struct cmd_context *cmd, const struct logical_volume
* However in case command would have crashed, such LV is
* left unmonitored and may potentially require dmeventd.
*/
- if ((lv_is_cache_pool_data(lv) || lv_is_cache_pool_metadata(lv)) &&
- !lv_is_used_cache_pool((find_pool_seg(first_seg(lv))->lv))) {
- log_debug_activation("Skipping %smonitor of %s.%s",
- (monitor) ? "" : "un", display_lvname(lv),
- (monitor) ? " Cache pool activation for clearing only." : "");
- return 1;
+ if (lv_is_cache_pool_data(lv) || lv_is_cache_pool_metadata(lv)) {
+ if (!(seg = find_pool_seg(first_seg(lv))))
+ return_0;
+ if (!lv_is_used_cache_pool(seg->lv)) {
+ log_debug_activation("Skipping %smonitor of %s.%s",
+ (monitor) ? "" : "un", display_lvname(lv),
+ (monitor) ? " Cache pool activation for clearing only." : "");
+ return 1;
+ }
}
/*
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 1a584f2..f75cf51 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -5288,6 +5288,8 @@ static int _lvresize_adjust_extents(struct logical_volume *lv,
static int _lvresize_check_type(const struct logical_volume *lv,
const struct lvresize_params *lp)
{
+ struct lv_segment *seg;
+
if (lv_is_origin(lv)) {
if (lp->resize == LV_REDUCE) {
log_error("Snapshot origin volumes cannot be reduced in size yet.");
@@ -5313,7 +5315,8 @@ static int _lvresize_check_type(const struct logical_volume *lv,
}
} else if (lp->resize == LV_EXTEND) {
if (lv_is_thin_pool_metadata(lv) &&
- !thin_pool_feature_supported(find_pool_seg(first_seg(lv))->lv, THIN_FEATURE_METADATA_RESIZE)) {
+ (!(seg = find_pool_seg(first_seg(lv))) ||
+ !thin_pool_feature_supported(seg->lv, THIN_FEATURE_METADATA_RESIZE))) {
log_error("Support for online metadata resize of %s not detected.",
display_lvname(lv));
return 0;
6 years, 10 months
master - debug: more display_lvname usage
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=b939ddf80c7370ae17e...
Commit: b939ddf80c7370ae17e26c6d05482be6799245e3
Parent: 275fc2d45bbef5ffaa43a83c1f9572232fdf2268
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Jun 27 08:28:36 2017 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Jun 27 08:28:36 2017 +0200
debug: more display_lvname usage
---
lib/metadata/thin_manip.c | 25 +++++++++++++------------
tools/lvconvert_poll.c | 27 ++++++++++++++++-----------
2 files changed, 29 insertions(+), 23 deletions(-)
diff --git a/lib/metadata/thin_manip.c b/lib/metadata/thin_manip.c
index 559e435..88dc51a 100644
--- a/lib/metadata/thin_manip.c
+++ b/lib/metadata/thin_manip.c
@@ -29,17 +29,18 @@ int attach_pool_message(struct lv_segment *pool_seg, dm_thin_message_t type,
struct lv_thin_message *tmsg;
if (!seg_is_thin_pool(pool_seg)) {
- log_error(INTERNAL_ERROR "Cannot attach message to non-pool LV %s.", pool_seg->lv->name);
+ log_error(INTERNAL_ERROR "Cannot attach message to non-pool LV %s.",
+ display_lvname(pool_seg->lv));
return 0;
}
if (pool_has_message(pool_seg, lv, delete_id)) {
if (lv)
log_error("Message referring LV %s already queued in pool %s.",
- lv->name, pool_seg->lv->name);
+ display_lvname(lv), display_lvname(pool_seg->lv));
else
log_error("Delete for device %u already queued in pool %s.",
- delete_id, pool_seg->lv->name);
+ delete_id, display_lvname(pool_seg->lv));
return 0;
}
@@ -81,8 +82,8 @@ int attach_thin_external_origin(struct lv_segment *seg,
struct logical_volume *external_lv)
{
if (seg->external_lv) {
- log_error(INTERNAL_ERROR "LV \"%s\" already has external origin.",
- seg->lv->name);
+ log_error(INTERNAL_ERROR "LV %s already has external origin.",
+ display_lvname(seg->lv));
return 0;
}
@@ -96,7 +97,7 @@ int attach_thin_external_origin(struct lv_segment *seg,
if (external_lv->status & LVM_WRITE) {
log_verbose("Setting logical volume \"%s\" read-only.",
- external_lv->name);
+ display_lvname(external_lv));
external_lv->status &= ~LVM_WRITE;
}
@@ -144,7 +145,7 @@ int pool_has_message(const struct lv_segment *seg,
const struct lv_thin_message *tmsg;
if (!seg_is_thin_pool(seg)) {
- log_error(INTERNAL_ERROR "LV %s is not pool.", seg->lv->name);
+ log_error(INTERNAL_ERROR "LV %s is not pool.", display_lvname(seg->lv));
return 0;
}
@@ -204,7 +205,7 @@ int thin_pool_feature_supported(const struct logical_volume *lv, int feature)
struct lv_segment *seg;
if (!lv_is_thin_pool(lv)) {
- log_error(INTERNAL_ERROR "LV %s is not thin pool.", lv->name);
+ log_error(INTERNAL_ERROR "LV %s is not thin pool.", display_lvname(lv));
return 0;
}
@@ -213,7 +214,7 @@ int thin_pool_feature_supported(const struct logical_volume *lv, int feature)
seg->segtype->ops->target_present &&
!seg->segtype->ops->target_present(lv->vg->cmd, NULL, &attr)) {
log_error("%s: Required device-mapper target(s) not "
- "detected in your kernel.", seg->segtype->name);
+ "detected in your kernel.", lvseg_name(seg));
return 0;
}
@@ -404,7 +405,7 @@ struct logical_volume *find_pool_lv(const struct logical_volume *lv)
struct lv_segment *seg;
if (!(seg = first_seg(lv))) {
- log_error("LV %s has no segment", lv->name);
+ log_error("LV %s has no segment.", display_lvname(lv));
return NULL;
}
@@ -431,7 +432,7 @@ uint32_t get_free_pool_device_id(struct lv_segment *thin_pool_seg)
if (!seg_is_thin_pool(thin_pool_seg)) {
log_error(INTERNAL_ERROR
"Segment in %s is not a thin pool segment.",
- thin_pool_seg->lv->name);
+ display_lvname(thin_pool_seg->lv));
return 0;
}
@@ -482,7 +483,7 @@ int update_pool_lv(struct logical_volume *lv, int activate)
int ret = 1;
if (!lv_is_thin_pool(lv)) {
- log_error(INTERNAL_ERROR "Updated LV %s is not pool.", lv->name);
+ log_error(INTERNAL_ERROR "Updated LV %s is not pool.", display_lvname(lv));
return 0;
}
diff --git a/tools/lvconvert_poll.c b/tools/lvconvert_poll.c
index 0daa927..b9ec316 100644
--- a/tools/lvconvert_poll.c
+++ b/tools/lvconvert_poll.c
@@ -34,7 +34,7 @@ int lvconvert_mirror_finish(struct cmd_context *cmd,
if (!lv_update_and_reload(lv))
return_0;
- log_print_unless_silent("Logical volume %s converted.", lv->name);
+ log_print_unless_silent("Logical volume %s converted.", display_lvname(lv));
return 1;
}
@@ -89,7 +89,7 @@ int thin_merge_finish(struct cmd_context *cmd,
{
if (!swap_lv_identifiers(cmd, merge_lv, lv)) {
log_error("Failed to swap %s with merging %s.",
- lv->name, merge_lv->name);
+ display_lvname(lv), display_lvname(merge_lv));
return 0;
}
@@ -111,11 +111,13 @@ int lvconvert_merge_finish(struct cmd_context *cmd,
struct lv_segment *snap_seg = find_snapshot(lv);
if (!lv_is_merging_origin(lv)) {
- log_error("Logical volume %s has no merging snapshot.", lv->name);
+ log_error("Logical volume %s has no merging snapshot.",
+ display_lvname(lv));
return 0;
}
- log_print_unless_silent("Merge of snapshot into logical volume %s has finished.", lv->name);
+ log_print_unless_silent("Merge of snapshot into logical volume %s has finished.",
+ display_lvname(lv));
if (seg_is_thin_volume(snap_seg)) {
clear_snapshot_merge(lv);
@@ -125,7 +127,7 @@ int lvconvert_merge_finish(struct cmd_context *cmd,
} else if (!lv_remove_single(cmd, snap_seg->cow, DONT_PROMPT, 0)) {
log_error("Could not remove snapshot %s merged into %s.",
- snap_seg->cow->name, lv->name);
+ display_lvname(snap_seg->cow), display_lvname(lv));
return 0;
}
@@ -141,21 +143,24 @@ progress_t poll_merge_progress(struct cmd_context *cmd,
if (!lv_is_merging_origin(lv) ||
!lv_snapshot_percent(lv, &percent)) {
- log_error("%s: Failed query for merging percentage. Aborting merge.", lv->name);
+ log_error("%s: Failed query for merging percentage. Aborting merge.",
+ display_lvname(lv));
return PROGRESS_CHECK_FAILED;
} else if (percent == DM_PERCENT_INVALID) {
- log_error("%s: Merging snapshot invalidated. Aborting merge.", lv->name);
+ log_error("%s: Merging snapshot invalidated. Aborting merge.",
+ display_lvname(lv));
return PROGRESS_CHECK_FAILED;
} else if (percent == LVM_PERCENT_MERGE_FAILED) {
- log_error("%s: Merge failed. Retry merge or inspect manually.", lv->name);
+ log_error("%s: Merge failed. Retry merge or inspect manually.",
+ display_lvname(lv));
return PROGRESS_CHECK_FAILED;
}
if (parms->progress_display)
- log_print_unless_silent("%s: %s: %s%%", lv->name, parms->progress_title,
+ log_print_unless_silent("%s: %s: %s%%", display_lvname(lv), parms->progress_title,
display_percent(cmd, DM_PERCENT_100 - percent));
else
- log_verbose("%s: %s: %s%%", lv->name, parms->progress_title,
+ log_verbose("%s: %s: %s%%", display_lvname(lv), parms->progress_title,
display_percent(cmd, DM_PERCENT_100 - percent));
if (percent == DM_PERCENT_0)
@@ -182,7 +187,7 @@ progress_t poll_thin_merge_progress(struct cmd_context *cmd,
*/
if (device_id != find_snapshot(lv)->device_id) {
- log_error("LV %s is not merged.", lv->name);
+ log_error("LV %s is not merged.", display_lvname(lv));
return PROGRESS_CHECK_FAILED;
}
6 years, 10 months
master - coverity: validate retval from get_only_segment_using_this_lv
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=275fc2d45bbef5ffaa4...
Commit: 275fc2d45bbef5ffaa43a83c1f9572232fdf2268
Parent: 664e947726ad3e64b59b2e3d43cd4ea01f7e5d5a
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Jun 27 00:24:34 2017 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Jun 27 00:27:36 2017 +0200
coverity: validate retval from get_only_segment_using_this_lv
---
lib/activate/activate.c | 3 ++-
lib/display/display.c | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/activate/activate.c b/lib/activate/activate.c
index 282dd4f..b3ed513 100644
--- a/lib/activate/activate.c
+++ b/lib/activate/activate.c
@@ -781,7 +781,8 @@ int lv_info_with_seg_status(struct cmd_context *cmd,
if (lv_is_used_cache_pool(lv)) {
/* INFO is not set as cache-pool cannot be active.
* STATUS is collected from cache LV */
- lv_seg = get_only_segment_using_this_lv(lv);
+ if (!(lv_seg = get_only_segment_using_this_lv(lv)))
+ return_0;
(void) _lv_info(cmd, lv_seg->lv, 1, NULL, lv_seg, &status->seg_status, 0, 0);
return 1;
}
diff --git a/lib/display/display.c b/lib/display/display.c
index 18e49f9..9a928d9 100644
--- a/lib/display/display.c
+++ b/lib/display/display.c
@@ -517,8 +517,8 @@ int lvdisplay_full(struct cmd_context *cmd,
log_print("LV Pool metadata %s", seg->metadata_lv->name);
log_print("LV Pool data %s", seg_lv(seg, 0)->name);
} else if (lv_is_cache_origin(lv)) {
- log_print("LV origin of Cache LV %s",
- get_only_segment_using_this_lv(lv)->lv->name);
+ if ((seg = get_only_segment_using_this_lv(lv)))
+ log_print("LV origin of Cache LV %s", seg->lv->name);
} else if (lv_is_cache(lv)) {
seg = first_seg(lv);
if (inkernel && !lv_cache_status(lv, &cache_status))
6 years, 10 months
master - coverity: add some error path for failed allocs
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=664e947726ad3e64b59...
Commit: 664e947726ad3e64b59b2e3d43cd4ea01f7e5d5a
Parent: 72c5598658764e1b0054c0cb40e6a4770c11f660
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Mon Jun 26 23:57:12 2017 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Jun 27 00:27:36 2017 +0200
coverity: add some error path for failed allocs
Coverity reports some unchecked allocations.
---
daemons/dmfilemapd/dmfilemapd.c | 3 ++-
tools/lvmcmdline.c | 5 ++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/daemons/dmfilemapd/dmfilemapd.c b/daemons/dmfilemapd/dmfilemapd.c
index 43ae970..a1293dc 100644
--- a/daemons/dmfilemapd/dmfilemapd.c
+++ b/daemons/dmfilemapd/dmfilemapd.c
@@ -709,7 +709,8 @@ static int _dmfilemapd(struct filemap_monitor *fm)
* The correct program_id is retrieved from the group leader
* following the call to dm_stats_list().
*/
- dms = dm_stats_create(NULL);
+ if (!(dms = dm_stats_create(NULL)))
+ goto_bad;
if (!dm_stats_bind_from_fd(dms, fm->fd)) {
log_error("Could not bind dm_stats handle to file descriptor "
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
index 0aca37a..964e295 100644
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
@@ -2703,7 +2703,10 @@ int lvm_run_command(struct cmd_context *cmd, int argc, char **argv)
/* each command should start out with sigint flag cleared */
sigint_clear();
- cmd->name = dm_pool_strdup(cmd->mem, dm_basename(argv[0]));
+ if (!(cmd->name = dm_pool_strdup(cmd->mem, dm_basename(argv[0])))) {
+ log_error("Failed to strdup command basename.");
+ return ECMD_FAILED;
+ }
configure_command_option_values(cmd->name);
6 years, 10 months
master - debug: use display_lvname
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=72c5598658764e1b005...
Commit: 72c5598658764e1b0054c0cb40e6a4770c11f660
Parent: a567ec65a9d22e49208d42a08a4d7531219166d8
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Mon Jun 26 23:58:06 2017 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Jun 27 00:27:36 2017 +0200
debug: use display_lvname
---
tools/vgsplit.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/vgsplit.c b/tools/vgsplit.c
index e2ba6f7..da9b7b1 100644
--- a/tools/vgsplit.c
+++ b/tools/vgsplit.c
@@ -341,8 +341,8 @@ static int _move_thins(struct volume_group *vg_from,
_lv_is_in_vg(vg_from, data_lv)) {
log_error("Can't split external origin %s "
"and pool %s between two Volume Groups.",
- seg->external_lv->name,
- seg->pool_lv->name);
+ display_lvname(seg->external_lv),
+ display_lvname(seg->pool_lv));
return 0;
}
if (!_move_one_lv(vg_from, vg_to, lvh, &lvht))
6 years, 10 months
master - debug: fix error path
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=a567ec65a9d22e49208...
Commit: a567ec65a9d22e49208d42a08a4d7531219166d8
Parent: d444accdbfdda0712d4a83ac178378580d3f7714
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Mon Jun 26 23:32:04 2017 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Jun 27 00:27:36 2017 +0200
debug: fix error path
Coverity:
log_error may have dereference NULL pointer - use directly
segtype string name.
---
tools/lvconvert.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index 5e255d3..cfdf5de 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -2724,7 +2724,7 @@ static int _lvconvert_to_pool(struct cmd_context *cmd,
if (!pool_segtype ||
!pool_segtype->ops->target_present(cmd, NULL, &target_attr)) {
log_error("%s: Required device-mapper target(s) not detected in your kernel.",
- pool_segtype->name);
+ str_seg_type);
return 0;
}
6 years, 10 months