Commit d20d426c3a5fd1d8cafd3193bd7dcde8b8fd2946

Sam Lantinga 2017-04-18T22:17:40

Fix crash in SDL audio thread, by Juha Kuikka Wrong audio spec structure was populated with the internal callback, causing the audio thread to call a NULL pointer.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c
index 051ebdd..a25865c 100644
--- a/src/audio/SDL_audio.c
+++ b/src/audio/SDL_audio.c
@@ -1344,8 +1344,8 @@ open_audio_device(const char *devname, int iscapture,
             SDL_SetError("Couldn't create audio buffer queue");
             return 0;
         }
-        device->spec.callback = iscapture ? SDL_BufferQueueFillCallback : SDL_BufferQueueDrainCallback;
-        device->spec.userdata = device;
+        device->callbackspec.callback = iscapture ? SDL_BufferQueueFillCallback : SDL_BufferQueueDrainCallback;
+        device->callbackspec.userdata = device;
     }
 
     /* Allocate a scratch audio buffer */