mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 09:27:59 +00:00
pscp -scp: fix spurious newlines at end of filenames.
Commit d07d7d66f
introduced this bug: I replaced a manually grown
string buffer with a strbuf, and failed to replicate the part where
after I'd finished appending wire data to the string I removed the
terminating \n. That string was used as the local file name, when
downloading in SCP mode using a wildcard, so you'd get lots of local
files whose names ended inconveniently in a newline character.
Fixed by terminating the loop before we push the \n on to the strbuf
in the first place.
This commit is contained in:
parent
674219b115
commit
1d8b48fd22
6
pscp.c
6
pscp.c
@ -1380,11 +1380,13 @@ int scp_get_sink_action(struct scp_sink_action *act)
|
||||
if (ch == '\n')
|
||||
bump("Protocol error: Unexpected newline");
|
||||
action = ch;
|
||||
do {
|
||||
while (1) {
|
||||
if (!ssh_scp_recv(&ch, 1))
|
||||
bump("Lost connection");
|
||||
if (ch == '\n')
|
||||
break;
|
||||
put_byte(act->buf, ch);
|
||||
} while (ch != '\n');
|
||||
}
|
||||
switch (action) {
|
||||
case '\01': /* error */
|
||||
with_stripctrl(san, act->buf->s)
|
||||
|
Loading…
Reference in New Issue
Block a user