mirror of https://gitee.com/openkylin/libvirt.git
virsh: fixing segfault by pool autocompleter function.
The commands which requires a pool to perform any action for a volume is throwing a segfault when you pass the volume name before a pool name or without the argument '--pool'. An example that works: virsh # vol-list loops-pool Name Path ------------------------------------------------------------------- loop0 /mnt/loop0 virsh # vol-info --pool loops-pool lo<TAB> An example that does not work: virsh # vol-list loops-pool Name Path ------------------------------------------------------------------- loop0 /mnt/loop0 virsh # vol-info lo<TAB> Segmentation Fault The example 'vol-info' can be executed as 'vol-info loop0 --pool loops-pool'. So, this commit fixes this problem when the arguments are inverted and avoids the segfault. Signed-off-by: Julio Faracco <jcfaracco@gmail.com> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
f7399de11b
commit
8fe09a5317
|
@ -143,6 +143,9 @@ virshCommandOptPoolBy(vshControl *ctl, const vshCmd *cmd, const char *optname,
|
||||||
if (vshCommandOptStringReq(ctl, cmd, optname, &n) < 0)
|
if (vshCommandOptStringReq(ctl, cmd, optname, &n) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
if (cmd->skipChecks && !n)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
vshDebug(ctl, VSH_ERR_INFO, "%s: found option <%s>: %s\n",
|
vshDebug(ctl, VSH_ERR_INFO, "%s: found option <%s>: %s\n",
|
||||||
cmd->def->name, optname, n);
|
cmd->def->name, optname, n);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue