winmm/tests: waveOutGetDevCaps called with invalid size
Robert Reif
reif at earthlink.net
Mon Apr 21 17:18:25 CDT 2008
Peter Åstrand wrote:
> On Fri, 18 Apr 2008, Robert Reif wrote:
>
>
>>> - rc=waveOutGetDevCapsA(device,&capsA,4);
>>> + /* Final call must succeed, capsA will be used below */
>>> + rc=waveOutGetDevCapsA(device,&capsA,sizeof(capsA));
>>> ok(rc==MMSYSERR_NOERROR,
>>> "waveOutGetDevCapsA(%s): MMSYSERR_NOERROR expected, got %s\n",
>>> dev_name(device),wave_out_error(rc));
>>> -
>>> - rc=waveOutGetDevCapsW(device,&capsW,4);
>>> - ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NOTSUPPORTED,
>>> - "waveOutGetDevCapsW(%s): MMSYSERR_NOERROR or MMSYSERR_NOTSUPPORTED "
>>> - "expected, got %s\n",dev_name(device),wave_out_error(rc));
>>> + if (rc!=MMSYSERR_NOERROR)
>>> + return;
>>>
>
>
>
>> That's the whole point of the test, to check what happens with an invalid
>> argument.
>>
>
> So what do you think *should* happen with an invalid argument? The result
> is different on different Windows platforms. The behaviour is not
> specified by MSDN.
>
> In any case, continuing and executing code that uses "capsA" even though
> the waveOutGetDevCapsA call failed is definitely wrong.
>
>
> Rgds,
> ---
> Peter Åstrand ThinLinc Chief Developer
> Cendio AB http://www.cendio.se
> Wallenbergs gata 4
> 583 30 Linköping Phone: +46-13-21 46 00
This is the proper fix:
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: wave.diff.txt
Url: http://www.winehq.org/pipermail/wine-devel/attachments/20080421/37cbf957/attachment.txt
More information about the wine-devel
mailing list