rpcrt4/tests: NdrVaryingArrayUnmarshall() is broken on Windows

Alexandre Julliard julliard at winehq.org
Mon Jan 12 09:59:30 CST 2009


"Rob Shearman" <robertshearman at gmail.com> writes:

> 2009/1/12 Alexandre Julliard <julliard at winehq.org>:
>> "Ge van Geldorp" <ge at gse.nl> writes:
>>
>>> The failures in rpcrt4:server on Windows are caused by an access violation
>>> thrown in NdrVaryingArrayUnmarshall() called from get_5numbers(). I've
>>> created a minimum get_5numbers() test with Microsoft tools and that throws
>>> the same access violation. The access violation disappears when zeroing
>>> out the StubMsg before calling NdrClientInitializeNew(), so my guess is
>>> Windows NdrVaryingArrayUnmarshall() uses an uninitialized member.
>>>
>>> Changelog:
>>>   NdrVaryingArrayUnmarshall() is broken on Windows
>>
>> If it's broken on Windows then there's no point in testing it, you can
>> simply remove it.
>
> There's value in the function working in Wine and testing the function
> stops it being inadvertently broken (probably by me). Microsoft may
> release a patch to fix it or fix it in a more recent version of
> Windows.

Simply ignoring crashes does not make for a very reliable test, and
exception handling in tests is a tricky business. It would be much
better to find a way of exercising the feature that would work on
Windows too.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list