On Mon, Apr 14, 2025 at 14:56:03 +0300, Alexander Kuznetsov wrote:
> virXPathString() can return NULL so we need to check it before calling
> strcmp()
>
> Found by Linux Verification Center (linuxtesting.org) with Svace.
>
> Reported-by: Dmitry Fedin <[email protected]>
> Signed-off-by: Alexander Kuznetsov <[email protected]>
> ---
> tools/virsh-completer-domain.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/virsh-completer-domain.c b/tools/virsh-completer-domain.c
> index 0a3a113dca..abacfd04c1 100644
> --- a/tools/virsh-completer-domain.c
> +++ b/tools/virsh-completer-domain.c
> @@ -891,7 +891,7 @@ virshDomainConsoleCompleter(vshControl *ctl,
> ctxt->node = parallels[i - nserials];
>
> type = virXPathString("string(./@type)", ctxt);
> - if (STRNEQ(type, "pty"))
> + if (!type || STRNEQ(type, "pty"))
Alternative is to use STRNEQ_NULLABLE.
> continue;
>
> tmp[offset++] = virXPathString("string(./alias/@name)", ctxt);
> --
> 2.42.4
>