Please see: https://marc.info/?l=wine-devel&m=174715050805731 as well as the commit messages for more information.
--
v5: ntdll: Report more info about heap problems detected by ASan.
ntdll: Show (partial) stack trace in ASan reports.
ntdll: Add heap quarantine for ASan.
ntdll: Add asan poisoning and redzoning to heap allocator
ntdll: Implement ASan fake stack.
ntdll: Don't use address of local variables as the frame address.
ntdll: During unwind, also check if frame is on fake stack.
ntdll: Implement __asan_{un,}poison_memory_region.
ntdll: Make sure to not write into poisoned memory in KeUserModeCallback.
ntdll: Implement __asan_set_shadow_*.
ntdll: Implement reporting of ASan errors.
ntdll: Implement __asan_{memory,region}_is_poisoned.
ntdll: Implement __asan_{un,}poison_stack_memory.
ntdll: Unpoison stack in __asan_handle_no_return.
ntdll: Add API for checking whether address is in fake stack frame.
kernel32: Check for poison in LocalLock if ASan is enabled.
kernel32: Fix ASan reports in IsBad*
ntdll: Call __asan_handle_no_return in RtlRestoreContext.
makedep: Support sanitizer flags.
asan_dynamic_thunk: Add ASan dynamic thunk for DLLs.
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8026
--
v2: widl: Write the guid stream.
widl: Write the blob stream.
widl: Write the user string stream.
widl: Write the string stream.
widl: Initial support for generating Windows Runtime metadata.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8037
1. Changed fixed-size buffer to dynamic allocation for link_name to
prevent buffer overflow
2. Added proper memory cleanup with HeapFree in all error paths
3. Fixed potential null pointer dereference when device is NULL
4. Improved error handling by checking memory allocation success
The original code used a fixed-size buffer (15 chars) which could
overflow with long device names. The new version dynamically allocates
memory based on actual device name length, includes proper cleanup, and
handles edge cases better.
Signed-off-by: Wei Xie <xiewei(a)uniontech.com>
--
v3: kernel32/tests: add missing DefineDosDeviceW test cases
https://gitlab.winehq.org/wine/wine/-/merge_requests/8041
1. Changed fixed-size buffer to dynamic allocation for link_name to
prevent buffer overflow
2. Added proper memory cleanup with HeapFree in all error paths
3. Fixed potential null pointer dereference when device is NULL
4. Improved error handling by checking memory allocation success
The original code used a fixed-size buffer (15 chars) which could
overflow with long device names. The new version dynamically allocates
memory based on actual device name length, includes proper cleanup, and
handles edge cases better.
Signed-off-by: Wei Xie <xiewei(a)uniontech.com>
--
v2: fix: add missing DefineDosDeviceW test cases
kernelbase: fix memory allocation in DefineDosDeviceW
https://gitlab.winehq.org/wine/wine/-/merge_requests/8041
This MR modifies winegstreamer to match Windows behaviour in that:
1. the video decoders will output the PTS and duration of the input sample (if provided); and
2. the WMV decoder will set any value not provided to zero
It also adds support for supplying a DTS value to the MFTs.
I've marked this as draft as it fixes the tests in MR !7563 (in addition to fixing some existing `test_wmv_decoder` tests). Also, as demonstrated in MR !7569, our demuxers output different timestamps to Windows. This change will result in those different timestamps being forwarded from the decoder. So we may also want to address that difference prior to accepting this MR.
--
v10: winegstreamer: Fixup negative input timestamps.
winegstreamer: Don't generate sample timestamps for the WMV decoder.
winegstreamer: Avoid rounding errors when generating timestamps.
winegstreamer: Use provided PTS and duration in video_decoder.
mf/tests: Add negative timestamp tests for h264.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7623
Windows uses a smaller alignment than gstreamer for some formats, for
example NV12. This means we cannot use MFCalculateImageSize() to get the
output sample size. Commit 7b79e3a87b1e switched to calling it instead of
GetOutputStreamInfo() to fix some game bugs.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8034
First push with null patch, to get current gitlab runner result in [pipeline #42287](https://gitlab.winehq.org/bernhardu/wine/-/pipelines/42287).
Unfortunately, did not fail this time.
Older examples are:
- [job #157583](https://gitlab.winehq.org/wine/wine/-/jobs/157583#L2282)
- [job #157314](https://gitlab.winehq.org/wine/wine/-/jobs/157314#L1957)
- [job #157131](https://gitlab.winehq.org/wine/wine/-/jobs/157131#L2052)
- [job #157068](https://gitlab.winehq.org/wine/wine/-/jobs/157068#L1955)
- [job #157032](https://gitlab.winehq.org/wine/wine/-/jobs/157032#L2150)
- [job #156785](https://gitlab.winehq.org/wine/wine/-/jobs/156785#L2112)
- [job #156713](https://gitlab.winehq.org/wine/wine/-/jobs/156713#L2048)
- [job 156677#](https://gitlab.winehq.org/wine/wine/-/jobs/156677#L2030)
So happens just a few times per day.
The value -1073741510 in `timeout.exe:timeout:06b4 done (-1073741510) in 5s 177B` equals to 0xC000013A, STATUS_CONTROL_C_EXIT. Therefore the assumption the ctrl-c from the test reaches sometimes the parent process.
With the patch activated, this [pipeline #42291](https://gitlab.winehq.org/bernhardu/wine/-/pipelines/42291).
--
v5: timeout/tests: Move the ctrl-c tests below an intermediate process.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8051
Supersedes !7928 with some test tweaks:
* Test that shutdown waits for any queued handler,
* Use message loop only when necessary (DQTYPE_THREAD_CURRENT),
* Remove some non-deterministic refcount checks after shutdown, as dispatch thread might still hold some until it exits.
--
v2: coremessaging: Partially implement CreateDispatcherQueueController().
coremessaging/tests: Add CreateDispatcherQueueController() tests.
coremessaging/tests: Add IDispatcherQueueControllerStatics::CreateOnDedicatedThread() tests.
coremessaging: Add IDispatcherQueueControllerStatics stub.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8055
Please see: https://marc.info/?l=wine-devel&m=174715050805731 as well as the commit messages for more information.
--
v4: ntdll: Report more info about heap problems detected by ASan.
ntdll: Show (partial) stack trace in ASan reports.
ntdll: Add heap quarantine for ASan.
ntdll: Add asan poisoning and redzoning to heap allocator
ntdll: Implement ASan fake stack.
ntdll: Don't use address of local variables as the frame address.
ntdll: During unwind, also check if frame is on fake stack.
ntdll: Implement __asan_{un,}poison_memory_region.
ntdll: Make sure to not write into poisoned memory in KeUserModeCallback.
ntdll: Implement __asan_set_shadow_*.
ntdll: Implement reporting of ASan errors.
ntdll: Implement __asan_{memory,region}_is_poisoned.
ntdll: Implement __asan_{un,}poison_stack_memory.
ntdll: Unpoison stack in __asan_handle_no_return.
ntdll: Add API for checking whether address is in fake stack frame.
kernel32: Check for poison in LocalLock if ASan is enabled.
kernel32: Fix ASan reports in IsBad*
ntdll: Call __asan_handle_no_return in RtlRestoreContext.
makedep: Support sanitizer flags.
asan_dynamic_thunk: Add ASan dynamic thunk for DLLs.
ntdll: Add stub ASan runtime.
loader: Disable sanitization.
configure: Check for sanitizer support.
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8026
This fixes an issue seen with Steam, which calls `WinHttpGetProxyForUrl()` before pinging WebSocket servers to determine which has the lowest latency. The `WinHttpGetProxyForUrl()`/`WinHttpDetectAutoProxyConfigUrl()` call seems to be included in the timing, and `WinHttpDetectAutoProxyConfigUrl()` taking too long can cause the ping to time out/fail.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8049