Commit a581346fae3b086f48e51dadeb23e1a3f071475b

Ryan C. Gordon 2016-04-04T22:49:13

alsa: Make device enumeration robust against weird results with NULL strings.

diff --git a/src/audio/alsa/SDL_alsa_audio.c b/src/audio/alsa/SDL_alsa_audio.c
index d073595..162ce8c 100644
--- a/src/audio/alsa/SDL_alsa_audio.c
+++ b/src/audio/alsa/SDL_alsa_audio.c
@@ -668,12 +668,17 @@ ALSA_Deinitialize(void)
 static void
 add_device(const int iscapture, const char *name, const char *_desc)
 {
-    char *desc = SDL_strdup(_desc);
+    char *desc = NULL;
     char *handle = NULL;
-    char *ptr;
+    char *ptr = NULL;
 
+    if (!name || !_desc) {
+        return;  /* nothing we can do with this...? */
+    }
+
+    desc = SDL_strdup(_desc);
     if (!desc) {
-        return;
+        return;  /* oh well, out of memory. Skip it. */
     }
 
     /* some strings have newlines, like "HDA NVidia, HDMI 0\nHDMI Audio Output" */