This is the mail archive of the
cygwin-developers@cygwin.com
mailing list for the Cygwin project.
Re: Checking input parameters of syscalls
- To: egor duda <cygwin-developers at cygwin dot com>
- Subject: Re: Checking input parameters of syscalls
- From: Robert Collins <robert dot collins at itdomain dot com dot au>
- Date: 11 Sep 2001 21:52:18 +1000
- References: <20010910154431.A792@dothill.com><20010910222228.X937@cygbert.vinschen.de> <1297610035.20010911125836@logos-m.ru>
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