Review Request 129259: Fix the buffersize in certain situations.

Jonathan Doman jonathan.doman at gmail.com
Wed Oct 26 19:54:47 UTC 2016



> On Oct. 26, 2016, 9:48 a.m., Andreas Hartmetz wrote:
> > If a workaround was really necessary I'd agree with Jonathan. But it looks like a workaround to fix up st_size is not necessary, because both Krusader and ls (just two examples I could easily find) work without changing st_size. Note that they use a different way to check whether the current file is a symlink, not sure if that makes the difference though.
> > https://quickgit.kde.org/?p=krusader.git&a=blob&h=932340774d439b1ea770204903c1f8c431dc86db&hb=f1660b241d195a31a904a1706fb8022b99e4c709&f=krusader%2FVFS%2Fnormal_vfs.cpp
> > http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c

Actually, take a look at the readlink implementation that ls calls: http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/areadlink-with-size.c;hb=HEAD

It does almost exactly what is proposed by this review, for the same reasons ("Some buggy file systems report garbage in st_size").


- Jonathan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129259/#review100304
-----------------------------------------------------------


On Oct. 25, 2016, 9:51 a.m., taro yamada wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129259/
> -----------------------------------------------------------
> 
> (Updated Oct. 25, 2016, 9:51 a.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Bugs: 369275
>     https://bugs.kde.org/show_bug.cgi?id=369275
> 
> 
> Repository: kio
> 
> 
> Description
> -------
> 
> Currently, KIO uses lstat to get the buffersize for readlink.
> But in certain situations, it returns inappropriate value.
> 
> For example, "/proc/self" or "/sys/bus/cpu/devices/*" returns its size is 0 , and then readlink fails with EINVAL.(so link won't be shown in kde application.)
> TMSU seems it returns its target's actual filesize insted of the link's filesize itself.
> 
> This patch changes the buffersize to 1024 bytes if it is 0.
> And later truncate it to actual size.
> 
> 
> Diffs
> -----
> 
>   src/ioslaves/file/file.cpp 8b17d31 
> 
> Diff: https://git.reviewboard.kde.org/r/129259/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> taro yamada
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20161026/64472f60/attachment.html>


More information about the Kde-frameworks-devel mailing list