upstream: sftp: Don't attempt to complete arguments for

non-existent commands

If user entered a non-existent command (e.g. because they made a
typo) there is no point in trying to complete its arguments. Skip
calling complete_match() if that's the case.

From Michal Privoznik

OpenBSD-Commit-ID: cf39c811a68cde2aeb98fc85addea4000ef6b07a
This commit is contained in:
djm@openbsd.org 2022-09-16 03:13:34 +00:00 committed by Damien Miller
parent ff9809fdfd
commit 590db83384
No known key found for this signature in database

4
sftp.c
View File

@ -1,4 +1,4 @@
/* $OpenBSD: sftp.c,v 1.218 2022/06/28 06:09:14 jmc Exp $ */
/* $OpenBSD: sftp.c,v 1.219 2022/09/16 03:13:34 djm Exp $ */
/*
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
*
@ -2143,7 +2143,7 @@ complete(EditLine *el, int ch)
if (carg > 1 && line[cursor-1] != ' ')
filematch = argv[carg - 1];
if (remote != 0 &&
if ((remote == REMOTE || remote == LOCAL) &&
complete_match(el, complete_ctx->conn,
*complete_ctx->remote_pathp, filematch,
remote, carg == argc, quote, terminated) != 0)