From 3737e5f0e75f355895bf0b46a33b1c1621477226 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 30 Jul 2019 15:02:46 +0100 Subject: misc: Allow %% to escape a single % in paths. For example "%d/config%%1" is expanded to "~/.ssh/config%1". Signed-off-by: Richard W.M. Jones Reviewed-by: Jakub Jelen Reviewed-by: Andreas Schneider --- src/misc.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/misc.c') diff --git a/src/misc.c b/src/misc.c index c7174b84..25df5910 100644 --- a/src/misc.c +++ b/src/misc.c @@ -1012,6 +1012,7 @@ char *ssh_path_expand_escape(ssh_session session, const char *s) { for (i = 0; *p != '\0'; p++) { if (*p != '%') { + escape: buf[i] = *p; i++; if (i >= MAX_BUF_SIZE) { @@ -1028,6 +1029,8 @@ char *ssh_path_expand_escape(ssh_session session, const char *s) { } switch (*p) { + case '%': + goto escape; case 'd': x = strdup(session->opts.sshdir); break; -- cgit v1.2.3