Merge pull request #210 (Added patch to fix possible segfault in pulse_rd_loop of PulseAudio backend.)

This commit is contained in:
Sebastian Lackner 2014-12-04 22:19:55 +01:00
commit 2f2045c5c8
5 changed files with 30 additions and 1 deletions

View File

@ -37,9 +37,10 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugfixes and features included in the next upcoming release [2]:**
**Bugfixes and features included in the next upcoming release [3]:**
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
* Fix possible segfault in pulse_rd_loop of PulseAudio backend
* Set last error when GetRawInputDeviceList fails ([Wine Bug #37667](https://bugs.winehq.org/show_bug.cgi?id=37667))

1
debian/changelog vendored
View File

@ -2,6 +2,7 @@ wine-compholio (1.7.33) UNRELEASED; urgency=low
* Added additional tests for VerifyVersionInfoA.
* Added patch to fix condition handling in RtlVerifyVersionInfo.
* Added patch to set last error when GetRawInputDeviceList fails.
* Added patch to fix possible segfault in pulse_rd_loop of PulseAudio backend.
* Removed patch to fix copy and paste errors in ws2_32 tests (accepted upstream).
* Removed patch to fix ordering of IP addresses by metric if two addresses have the same metric (accepted upstream).
* Removed patch to reset data->pWintrustData->u.pFile->hFile after closing handle (accepted upstream).

View File

@ -1854,6 +1854,7 @@ winepulse-PulseAudio_Support.ok:
$(call APPLY_FILE,winepulse-PulseAudio_Support/0027-winepulse-handle-stream-create-failing-correctly.patch)
$(call APPLY_FILE,winepulse-PulseAudio_Support/0028-winepulse-expose-audio-devices-directly-to-programs.patch)
$(call APPLY_FILE,winepulse-PulseAudio_Support/0029-winepulse-implement-exclusive-mode.patch)
$(call APPLY_FILE,winepulse-PulseAudio_Support/0030-winepulse-fix-segfault-in-pulse_rd_loop.patch)
@( \
echo '+ { "Maarten Lankhorst", "winmm: Load winealsa if winepulse is found.", 1 },'; \
echo '+ { "Maarten Lankhorst", "winepulse: Add initial stub for pulseaudio support.", 1 },'; \
@ -1884,6 +1885,7 @@ winepulse-PulseAudio_Support.ok:
echo '+ { "Mark Harmstone", "winepulse: handle stream create failing correctly.", 1 },'; \
echo '+ { "Mark Harmstone", "winepulse: expose audio devices directly to programs.", 1 },'; \
echo '+ { "Mark Harmstone", "winepulse: implement exclusive mode.", 1 },'; \
echo '+ { "Mark Harmstone", "winepulse: fix segfault in pulse_rd_loop.", 1 },'; \
) > winepulse-PulseAudio_Support.ok
# Patchset winex11-CandidateWindowPos

View File

@ -0,0 +1,24 @@
From a879d7aa33f4d182d0b60c6991b0eb9e3e0f34fa Mon Sep 17 00:00:00 2001
From: Mark Harmstone <mark@harmstone.com>
Date: Tue, 18 Nov 2014 18:39:58 +0000
Subject: winepulse: fix segfault in pulse_rd_loop
---
dlls/winepulse.drv/mmdevdrv.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c
index 6134850..37ff7ee 100644
--- a/dlls/winepulse.drv/mmdevdrv.c
+++ b/dlls/winepulse.drv/mmdevdrv.c
@@ -592,6 +592,7 @@ static void pulse_rd_loop(ACImpl *This, size_t bytes)
size_t src_len, copy, rem = This->capture_period;
if (!(p = (ACPacket*)list_head(&This->packet_free_head))) {
p = (ACPacket*)list_head(&This->packet_filled_head);
+ if (!p) return;
if (!p->discont) {
next = (ACPacket*)p->entry.next;
next->discont = 1;
--
2.0.4

View File

@ -1,3 +1,4 @@
Fixes: [10495] Support for PulseAudio backend for audio
Fixes: Allow selection of audio device for PulseAudio backend
Fixes: [37042] Implement exclusive mode in PulseAudio backend
Fixes: Fix possible segfault in pulse_rd_loop of PulseAudio backend