[PATCH 2/2] msvcrt: Check pmode in _wsopen_dispatch.
Lauri Kenttä
lauri.kentta at gmail.com
Mon Feb 6 09:56:24 CST 2017
On 2017-02-06 15:04, Piotr Caban wrote:
> Hi Lauri,
>
> On 02/04/17 15:38, Lauri Kenttä wrote:
>> if (oflags & MSVCRT__O_CREAT)
>> {
>> - if(pmode & ~(MSVCRT__S_IREAD | MSVCRT__S_IWRITE))
>> - FIXME(": pmode 0x%04x ignored\n", pmode);
>> + if (secure && !MSVCRT_CHECK_PMT(!(pmode & ~(MSVCRT__S_IREAD |
>> MSVCRT__S_IWRITE))))
>> + return MSVCRT_EINVAL;
> According to my testing pmode validation doesn't depend on secure flag
> value (I've tested _wsopen function in msvcr90, I didn't test the
> _wsopen_dispatch function).
What do you mean? How do you even test the secure flag with _wsopen?
test__sopen_dispatch calls _wsopen_dispatch with secure=0 and secure=1.
The former succeeds and the latter fails with EINVAL. Or am I missing
something obvious?
test__sopen_s shows the same difference between _open (implies secure=0)
and _sopen_s (implies secure=1), and if you add _sopen there, you can
see [1] it works like _open.
[1] https://testbot.winehq.org/JobDetails.pl?Key=28357
--
Lauri Kenttä
More information about the wine-devel
mailing list