AJ wrote:
Marcus Meissner <marcus at jet.franken.de> writes:
buffer and size need to be either 0 at the same time or not, otherwise this breaks up. Windows is inconsistent (either crashes or returns invalids), so we can just add checking.
If Windows crashes we don't need extra checks. Just tell Coverity that crashing is allowed here.
If later versions of Windows return INVALID_PARAMETER, wouldn't it be ok for Wine to do so rather than crashing? In other words, isn't it ok to emulate the 'best' behaved version of windows in cases like this, rather than the 'worst'?
On 01/06/2010 04:03 PM, Dan Kegel wrote:
AJ wrote:
Marcus Meissner<marcus at jet.franken.de> writes:
buffer and size need to be either 0 at the same time or not, otherwise this breaks up. Windows is inconsistent (either crashes or returns invalids), so we can just add checking.
If Windows crashes we don't need extra checks. Just tell Coverity that crashing is allowed here.
If later versions of Windows return INVALID_PARAMETER, wouldn't it be ok for Wine to do so rather than crashing? In other words, isn't it ok to emulate the 'best' behaved version of windows in cases like this, rather than the 'worst'?
I could agree with that in general. This particular one crashes on all of the boxes at winetestbot though:
https://winetestbot.geldorp.nl/JobDetails.pl?Key=254
One unfortunate thing is of course that we would have a hard time fixing tests on boxes that would crash whereas newer ones don't.
Dan Kegel dank@kegel.com writes:
AJ wrote:
Marcus Meissner <marcus at jet.franken.de> writes:
buffer and size need to be either 0 at the same time or not, otherwise this breaks up. Windows is inconsistent (either crashes or returns invalids), so we can just add checking.
If Windows crashes we don't need extra checks. Just tell Coverity that crashing is allowed here.
If later versions of Windows return INVALID_PARAMETER, wouldn't it be ok for Wine to do so rather than crashing? In other words, isn't it ok to emulate the 'best' behaved version of windows in cases like this, rather than the 'worst'?
Crashing is the best behavior. Adding parameter checks all over the place only hides bugs.
On Wed, Jan 6, 2010 at 7:21 AM, Alexandre Julliard julliard@winehq.org wrote:
Crashing is the best behavior. Adding parameter checks all over the place only hides bugs.
I keep forgetting that crashing is good sometimes :-)