Robert Reif : winecfg: Fix audio crash when no drivers are available.

Alexandre Julliard julliard at wine.codeweavers.com
Mon May 8 08:02:15 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 6f4e20832116457b77f7972157f9d9e475be9f4c
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=6f4e20832116457b77f7972157f9d9e475be9f4c

Author: Robert Reif <reif at earthlink.net>
Date:   Sun May  7 23:28:40 2006 -0400

winecfg: Fix audio crash when no drivers are available.

---

 programs/winecfg/audio.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/programs/winecfg/audio.c b/programs/winecfg/audio.c
index 3ad7f24..fa1e5fa 100644
--- a/programs/winecfg/audio.c
+++ b/programs/winecfg/audio.c
@@ -519,8 +519,13 @@ static void findAudioDrivers(void)
     SetCursor(old_cursor);
 
     /* terminate list with empty driver */
-    loadedAudioDrv = HeapReAlloc(GetProcessHeap(), 0, loadedAudioDrv, (numFound + 1) * sizeof(AUDIO_DRIVER));
-    CopyMemory(&loadedAudioDrv[numFound], pAudioDrv, sizeof(AUDIO_DRIVER));
+    if (numFound) {
+        loadedAudioDrv = HeapReAlloc(GetProcessHeap(), 0, loadedAudioDrv, (numFound + 1) * sizeof(AUDIO_DRIVER));
+        CopyMemory(&loadedAudioDrv[numFound], pAudioDrv, sizeof(AUDIO_DRIVER));
+    } else {
+        loadedAudioDrv = HeapAlloc(GetProcessHeap(), 0, sizeof(AUDIO_DRIVER));
+        ZeroMemory(&loadedAudioDrv[0], sizeof(AUDIO_DRIVER));
+    }
 }
 
 /* check local copy of registry string for unloadable drivers */




More information about the wine-cvs mailing list