Checking input parameters of syscalls
Robert Collins
robert.collins@itdomain.com.au
Tue Sep 11 04:51:00 GMT 2001
On Tue, 2001-09-11 at 18:58, egor duda wrote:
> Hi!
>
> Tuesday, 11 September, 2001 Corinna Vinschen cygwin-patches@cygwin.com wrote:
>
> CV> Frankly, I don't know. My first guess is to prioritize correctness
> CV> over speed ...
>
> [...]
>
> Speaking about correctness. I'm planning yet another update to
> testsuite and found that many cygwin functions still crash when
> application passes an invalid pointer to them, instead of returning
> EFAULT. Should we leave this as it is (to avoid possible slowdown) or
> sprinkle check_null_empty_str and check_null_invalid_struct all
> around? quick testing shows that IsBadWritePtr() function is
> quite fast (~10 microsecinds per call on my K6/400MHz), so i think
> the latter is the right way to go.
>
I created check_valid_pointer for jsut this reason in thread.cc I cannot
recall _why_ I didn't use the other two, but I recall some reason :}...
And yes, IMO such trivial checks are essential for any function that can
crash or corrupt cygwin - particularly with the daemon scenario :].
Rob
More information about the Cygwin-developers
mailing list