fvogt requested changes to this revision.
fvogt added inline comments.
This revision now requires changes to proceed.

INLINE COMMENTS

> chinmoyr wrote in file_unix.cpp:91
> It is the only case for which this hack seems necessary. For all other cases 
> a library call (to perform a file operation) is immediately followed by a 
> call to helper.  IMO the chances of errno changing to something unrelated in 
> between these two calls are very slim (is it even possible?) 
> Although errno is important, saving it for every call will result in 
> unnecessary code. Can't we make an exception for this case?

I don't see how this could ever work. Even the line immediately below `errno = 
err` can change `errno`.
You must not assume that `errno` does not change if you call a function. Save 
it immediately after the function which errno you are interested in returns.
The famous "Could not perform operation: Success" - kind of error messages 
happens exactly because of bugs like these.

> chinmoyr wrote in sharefd_p.h:66
> I didn't follow you here. Can you explain why working of this code on other 
> OSs, specifically FreeBsd and OSX, will be insecure?

Look at `man 7 unix`, section `Pathname socket ownership and permissions`.

REPOSITORY
  R241 KIO

REVISION DETAIL
  https://phabricator.kde.org/D9966

To: chinmoyr, #frameworks, thiago, fvogt
Cc: ngraham, fvogt, lbeltrame, dfaure

Reply via email to