enlightenment/src/modules/mixer
Andre Schulz 850c1ad41a mixer: alsa: Handle error from _alsa_card_create()
_alsa_card_create() can return NULL which can lead to a segmentation
fault inside ALSA when NULL is passed to snd_mixer_first_elem() in
_alsa_cards_refresh(). See the following crash dump excerpt:

Thread 1 (Thread 0x7fe64b227780 (LWP 3320) "enlightenment"):
#0  0x00007fe64c2fbd92 in __libc_pause () at ../sysdeps/unix/sysv/linux/pause.c:29
        sc_ret = -514
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  <signal handler called>
No locals.
#2  list_empty (p=0x20) at /var/tmp/portage/media-libs/alsa-lib-1.2.9/work/alsa-lib-1.2.9/include/list.h:114
No locals.
#3  snd_mixer_first_elem (mixer=mixer@entry=0x0) at /var/tmp/portage/media-libs/alsa-lib-1.2.9/work/alsa-lib-1.2.9/src/mixer/mixer.c:803
No locals.
#4  0x00007fe63b2a376f in _alsa_cards_refresh () at ../enlightenment-0.25.4/src/modules/mixer/lib/backends/alsa/alsa.c:304
        buf = "hw:0\000le.emix.cfg\000C\236:\245U\000\000\035\221.;\346\177\000\000`>[;\245U\000\000\260g\302:\245U\000\000pL[;\245U\000\000ʁ-:\245U\000\000/home/andre/.e/e/config/standard/module.gadman.cfg", '\000' <repeats 710 times>...
        mixer = 0x0
        device_name = <optimized out>
        elem = <optimized out>
        source = 0x0
        sink = 0x0
        err = <optimized out>
        card_num = 0
        tmp_source = 0x0
        tmp_sink = 0x0
2023-11-14 09:53:09 +00:00
..
lib mixer: alsa: Handle error from _alsa_card_create() 2023-11-14 09:53:09 +00:00
backend.c mixer - add params to allow increase/decrease by a given percentage 2023-01-20 14:47:45 +00:00
backend.h mixer - show a mic/recording slider if someothing is and icons 2021-06-07 15:19:47 +01:00
e-module-mixer.edj e module and gad icons - fix some icons missed thay were hiding 2021-04-17 13:53:26 +01:00
e_mod_config.c emixer: pulse: Use description as name for sources 2021-03-02 08:35:21 +00:00
e_mod_config.h e mixer - fix up saving to save everything 2015-09-02 18:31:44 +09:00
e_mod_main.c mixer - fix accesses to invalid objects 2021-07-07 11:11:05 +01:00
e_mod_main.h e mixer - replace with epulse/emixer 2015-06-08 21:15:09 +09:00
emixer.c mixer - use double progress bar for a decay "max vu" value 2021-06-24 15:54:29 +01:00
emixer.desktop emixer - desktop - limit groups to one only and only show in e 2020-03-25 17:11:32 +00:00
emixer.png mod - mixer - visual cleanups of mixer look and feel. more polish 2021-03-30 14:52:23 +01:00
meson.build mixer - add icon database for sink icons for mixer popup 2021-03-29 01:25:28 +01:00
mixer.h e gadgets - as per email to e-devbel - it's easier to fix old so rm new 2020-07-07 23:34:27 +01:00
module.desktop Updating french translation 2022-02-18 20:52:28 +01:00
sink-icons.txt mixer - add some more device icons 2021-09-29 08:45:26 +01:00