[WINECFG] fix audio crash when no drivers available (Bug 5200)

Robert Reif reif at earthlink.net
Sun May 7 22:28:40 CDT 2006


Fix audio crash when no audio drivers available.  Fixes big 5200.
-------------- next part --------------
Index: programs/winecfg/audio.c
===================================================================
RCS file: /home/wine/wine/programs/winecfg/audio.c,v
retrieving revision 1.27
diff -p -u -r1.27 audio.c
--- programs/winecfg/audio.c	8 Apr 2006 18:13:40 -0000	1.27
+++ programs/winecfg/audio.c	8 May 2006 03:25:20 -0000
@@ -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-patches mailing list