alsa: Fix crash when loading bare ALSA sink/source
[platform/upstream/pulseaudio.git] / src / modules / alsa / alsa-sink.c
index d3d5b19..e10e14e 100644 (file)
@@ -2032,14 +2032,16 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
     map = m->core->default_channel_map;
 
     /* Pick sample spec overrides from the mapping, if any */
-    if (mapping->sample_spec.format != PA_SAMPLE_INVALID)
-        ss.format = mapping->sample_spec.format;
-    if (mapping->sample_spec.rate != 0)
-        ss.rate = mapping->sample_spec.rate;
-    if (mapping->sample_spec.channels != 0) {
-        ss.channels = mapping->sample_spec.channels;
-        if (pa_channel_map_valid(&mapping->channel_map))
-            pa_assert(pa_channel_map_compatible(&mapping->channel_map, &ss));
+    if (mapping) {
+        if (mapping->sample_spec.format != PA_SAMPLE_INVALID)
+            ss.format = mapping->sample_spec.format;
+        if (mapping->sample_spec.rate != 0)
+            ss.rate = mapping->sample_spec.rate;
+        if (mapping->sample_spec.channels != 0) {
+            ss.channels = mapping->sample_spec.channels;
+            if (pa_channel_map_valid(&mapping->channel_map))
+                pa_assert(pa_channel_map_compatible(&mapping->channel_map, &ss));
+        }
     }
 
     /* Override with modargs if provided */