virsh: fix entering interactive session

When entering an interactive session, that is, without a command
specified:

  virsh --connect $URI

virsh currently segfaults because it tries to access
ctl->cmd->def->handler and the ctl->cmd is NULL.

Fix by checking if ctl->cmd is not NULL before doing further checks.

Fixes: b489eb8d6b
Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Roman Bogorodskiy
2026-05-25 10:58:15 +02:00
parent 05ff74ad06
commit ebeb4426c5
+1 -1
View File
@@ -126,7 +126,7 @@ virshConnect(vshControl *ctl, const char *uri, bool readonly)
virErrorPtr err;
virConnectAuthPtr auth = virConnectAuthPtrDefault;
if (ctl->cmd->def->handler == cmdComplete) {
if (ctl->cmd && ctl->cmd->def->handler == cmdComplete) {
/* When running from a bash completer we need to avoid any kind of
* keyboard input (e.g. ssh asking for a password). To achieve
* this, provide no authentication callbacks. */