[PATCH 2/2] msvcrt/tests: Work around sscanf("%hhd") not working yet.
Serge Gautherie
winehq-git_serge_180711 at gautherie.fr
Sat Nov 2 22:35:49 CDT 2019
On 03/11/2019 04:02, Zebediah Figura wrote:
> On 11/2/19 9:51 PM, Serge Gautherie wrote:
>> The only correct result is 0xdeadbe4e, as in dlls/ucrtbase/tests/scanf.c,
>> but test fails on Windows/ReactOS too, until Wine code is fixed...
>
> Where are you getting this? The test seems to pass on all of our VMs:
It passes because 0x00bc614e is wrong.
With correct value, it fails everywhere:
https://testbot.winehq.org/JobDetails.pl?Key=58941
NB:
I compiled this test snippet alone on GCC (probably Linux) and got the
correct value.
> Note that ucrtbase and msvcrt behave differently here; msvcrt's scanf()
> can't change its behaviour due to backwards-compatibility.
I saw "hh" support is new in C99, compared to C90.
Do you mean overflowing is a wanted (Windows) legacy bug?
Or should trying to use "hh" cause an explicit warning/error instead?
At the very least, current wrong behavior should be "documented", as my
patch somewhat does anyway.
I am not sure if/how you want to "fix" this, but corrupting memory feels
rather bad to me...
--
More information about the wine-devel
mailing list