When opening remote dir in remote shell panel, file with names containing '%' are shown as errors and inaccessible (red highlights with leading '?').
patch-ls-ub.diff​ (795 bytes) - added by andrew_b 5 years ago.
vfs_fish_helpers_ls-percent.diff​ (949 bytes) - added by dnh 5 years ago.
Ticket #3143 has been marked as a duplicate of this ticket.
as pointed out in the duplicate (whoops :}), this problem poses a target for format string attacks: while messing up the display with %p is pretty harmless, %n has been used to create exploits before. this makes the VFS unsuitable for browsing any untrusted data, which includes directories of other users on otherwise completely trusted machines.
Dieter Werner <d_werner gmx/net> sent me the patch-ls-ub.diff​ patch in private e-mail. Please review and check it.
thing as variables in SQL-statements vs. prepared statements.
grepping for 'system', 'printf', etc ... We should try to do that, too.
I'll add a attachment against master.
any printf or similar (strftime) formatting function EVER.
Ok. The same issue is in get:22.
Is "%ld" instead of "%i" should be used for "$size"?
BTW: what about <http://www.midnight-commander.org/ticket/3128> ?
I'm unable to reproduce that.
This is script to get a file from remote host.
"%ld" does not suffice for >4G sizes on 32bit platforms, IIRC. So it should be "%lld".
I checked that before. "%lld" is not supported in my distro with perl-5.12.5.
Here, %i and %ld also work in perl, but this is a 64bit platform + perl.
the last comment belongs into the other ticket and should be just deleted here.
i don't know what you are making a fuss about. if the contents of a variable are strictly defined, it is perfectly reasonable to include it in the format string, and for numbers this is certainly the case. you need more than dogmatism to be convincing.
Ok. I add comment to the #3128 ticket.
The Perl code in the ls helper is valid (​http://www.perlmonks.org/?node_id=918845, for example). We do not expected any strange values for uid, gid and size returned from lstat().