+++ This bug was initially created as a clone of Bug #168167 +++ Description of problem: scp currently implements local-to-local copy by constructing a command line using 'cp' in a string and then using system(). Beside the fact the using system() is really always wrong (only lazy people use it) which has the added problem that the file name is exposed twice to shell expansion. The file name could contain characters which need quoting, like $ or spaces. This second expansion must be avoided. Version-Release number of selected component (if applicable): openssh-clients-4.2p1-1.x86_64 How reproducible: always Steps to Reproduce: 1.touch foo\ bar 2.mkdir somedir 3.scp foo\ bar somedir Actual results: cp: cannot stat `foo': No such file or directory cp: cannot stat `bar': No such file or directory Expected results: no message, file copied Additional info: I'll attach a patch. Upstream would probably not like it but it glibc is advanced enough to provide the necessary functions. There are also a few more places where I've seen TEMP_FAILURE_RETRY or equivalent code missing.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2006-0044.html