On Mon, May 27, 2024 at 11:18:54 +0200, Michal Privoznik wrote:
> This can happen only for cmdComplete() in interactive mode (which
> I'm still not convinced is any useful for users and whether we
> should support it).

Definitely not useful for any normal user. Came in handy when testing
stuff.

But this happpens also in non-interactive mode:

 $ ./tools/virsh complete
 Segmentation fault (core dumped)

> Anyway, running plain 'complete' command with
> no additional arguments boils down to @text being NULL in
> vshReadlineParse() which handles the case just right but is then
> subsequently passed to vshCompleterFilter() which isn't prepared
> for this case.
> 
> Signed-off-by: Michal Privoznik <[email protected]>
> ---
>  tools/vsh.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/vsh.c b/tools/vsh.c
> index c91d756885..6cc1f60d87 100644
> --- a/tools/vsh.c
> +++ b/tools/vsh.c
> @@ -2820,7 +2820,7 @@ vshCompleterFilter(char ***list,
>      newList = g_new0(char *, list_len + 1);
>  
>      for (i = 0; i < list_len; i++) {
> -        if (!STRPREFIX((*list)[i], text)) {
> +        if (text && !STRPREFIX((*list)[i], text)) {
>              g_clear_pointer(&(*list)[i], g_free);
>              continue;

Reviewed-by: Peter Krempa <[email protected]>

Reply via email to