Yeah, I was just being lazy since I thought writing a test IRecordInfo seemed like a lot of fiddling and the bug was really just the wrong source pointer. But fair game calling me out on it :-) get_test_recordinfo was indeed most of what was needed, though it doesn't play nicely with being copied; it held a pointer back into brecVal of one speific VARIANT, and used this to make RecordClear also set pvRecord =NULL. Which doesn't work out well when things have been shallow-copied into temporaries and it's now manipulating the wrong VARIANT struct. So I fixed that first (13271f77), hopefully preserving the intent behind it. One could also just get rid of it entirely, since that's just not a thing a real IRecordInfo would do, but it did seem like a potentially valuable for tests to have that extra fragility, to catching a use-after-free more consistently should there be one. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/897#note_9106