Commit graph

4662 commits

Author SHA1 Message Date
Rudi Heitbaum
757f3a86c9 seq: fix discards const from pointer target
Since glibc-2.43:

For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr,
strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return pointers
into their input arrays now have definitions as macros that return a
pointer to a const-qualified type when the input argument is a pointer
to a const-qualified type.

https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00005.html

Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
2026-02-20 11:31:51 +00:00
Rudi Heitbaum
a7ef4c9ea4 ucm: fix discards const from pointer target
Since glibc-2.43:

For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr,
strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return pointers
into their input arrays now have definitions as macros that return a
pointer to a const-qualified type when the input argument is a pointer
to a const-qualified type.

https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00005.html

Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
2026-02-20 11:31:27 +00:00
Rudi Heitbaum
2769a6f407 conf: fix discards const from pointer target
Since glibc-2.43:

For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr,
strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return pointers
into their input arrays now have definitions as macros that return a
pointer to a const-qualified type when the input argument is a pointer
to a const-qualified type.

https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00005.html

Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
2026-02-20 11:31:02 +00:00
Jaroslav Kysela
5414277612 ucm: fix invalid pointer dereference in parse_open_variables()
Some checks failed
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
When the string with variables is not parseable, do not
try to free invalid cfg pointer.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-02-04 18:43:59 +01:00
Jaroslav Kysela
ebf2efae0a control: remap - cosmetic code reorganization
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-02-04 18:42:56 +01:00
Jaroslav Kysela
166407dae4 control: remap - fix numid lookup issue
Some checks are pending
Build alsa-lib / fedora_latest_build (push) Waiting to run
Build alsa-lib / ubuntu_last_build (push) Waiting to run
The 'amixer controls' and 'amixer cget numid=' combo was not working
correctly when the remapping was active. This assert was trigerred:

amixer: control.c:427: snd_ctl_elem_info: Assertion `ctl && info && (info->id.name[0] || info->id.numid)' failed

All elements must be loaded and mapping created to build
the numid -> fullid link.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-02-03 17:46:02 +01:00
Jaroslav Kysela
5f7fe33002 topology: decoder - add boundary check for channel mixer count
Some checks failed
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
Malicious binary topology file may cause heap corruption.

CVE: CVE-2026-25068

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-01-29 16:55:49 +01:00
Jaroslav Kysela
bc332f4211 control: ctlparse - make numid parsing more robust
Also correct the last amixer stderr printf to snd_error().

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-01-29 15:34:23 +01:00
Jaroslav Kysela
7887fbc6f0 ucm: libconfig parser - fix pathname for substituted file
Some checks failed
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
The path name substituted file contents and normal file contents
should be handled similary. Use correct function determining
the right base directory name.

Fixes: 8f5779eb ("ucm: add LibraryConfig support")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-01-26 15:10:46 +01:00
Jaroslav Kysela
75ed5f05ba Release v1.2.15.3
Some checks failed
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-01-13 08:12:40 +01:00
Jaroslav Kysela
805464c7bd seq: return back old snd_seq_drain_output behaviour for -EAGAIN
It seems that many applications did not follow the documentation
including pyalsa sequencer module, thus return the previous
behaviour and correct documentation.

Closes: https://github.com/alsa-project/alsa-lib/issues/493
Fixes: b97a11ec ("seq: fix snd_seq_drain_output return value for partial drain")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-01-13 08:09:47 +01:00
Jaroslav Kysela
63a981865a Release v1.2.15.2
Some checks failed
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-01-08 15:27:57 +01:00
Jaroslav Kysela
b3bc2b4fee Makefile: remove dist-hook and remove tar option 'follow symlinks'
Some checks are pending
Build alsa-lib / fedora_latest_build (push) Waiting to run
Build alsa-lib / ubuntu_last_build (push) Waiting to run
The dist-hook is not required for latest automake. It was
introduced in 2000, so the things were hopefully fixed now.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-01-08 14:51:15 +01:00
Jaroslav Kysela
50b532de79 ucm: add some traces for the config filenames
It is handy to see the path names in the loading chain.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-01-08 13:56:48 +01:00
Jaroslav Kysela
8bea4b13d1 error: fix the "return old snd_lib_error_set_handler() behaviour"
The variable arguments must be handled differently. Add a conversion
routine which use the original argument call convention.

Fixes: f55eece8 ("error: return old snd_lib_error_set_handler() behaviour")
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-01-08 13:19:45 +01:00
Jaroslav Kysela
a37b8b9377 error: fix indendation in snd_lib_log_filter()
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-01-07 17:48:40 +01:00
Jaroslav Kysela
f55eece85c error: return old snd_lib_error_set_handler() behaviour
Unfortunately, the case when the old application sets
own error callback using the old method, was not handled
properly in snd_lib_vlog_default() function.

Make sure that only error messages are passed to this
old callback and silent other log priorities.

Link: https://bugs.gentoo.org/968131
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2026-01-07 17:48:39 +01:00
Jaroslav Kysela
731d5fb9d8 Release v1.2.15.1
Some checks failed
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-19 11:31:58 +01:00
Jaroslav Kysela
f30c355278 conf: cards: unify whitespace - use tabs and remove trailing spaces
Some checks failed
Build alsa-lib / fedora_latest_build (push) Has been cancelled
Build alsa-lib / ubuntu_last_build (push) Has been cancelled
Convert leading spaces to tabs for consistent indentation,
remove trailing whitespace from all lines, and normalize
file endings across all card configuration files.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:50:28 +01:00
Jaroslav Kysela
17ffe17f03 conf: pistachio-card: define pcm configuration block only one time
There may be multiple pistachio-card soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:21 +01:00
Jaroslav Kysela
29fa26b4b5 conf: YMF744: define pcm configuration block only one time
There may be multiple YMF744 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:21 +01:00
Jaroslav Kysela
4bcd33ef9d conf: VX222,VXPocket: define pcm configuration block only one time
There may be multiple VX soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:21 +01:00
Jaroslav Kysela
d6b9d7e0be conf: VIA686A,VIA82xx: define pcm configuration block only one time
There may be multiple VIA soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
4c74f3a568 conf: TRID4DWAVENX: define pcm configuration block only one time
There may be multiple TRID4DWAVENX soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
51d75e5f07 conf: SI7018: define pcm configuration block only one time
There may be multiple SI7018 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
1cd87775c5 conf: SB-XFi: define pcm configuration block only one time
There may be multiple SB-XFi soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
f03528daf2 conf: RME96[35][26]: define pcm configuration block only one time
There may be multiple RME96[35][26] soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
8340b3c6b3 conf: PS3: define pcm configuration block only one time
There may be multiple PS3 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
a3028a492a conf: PMac,PMacToonie: define pcm configuration block only one time
There may be multiple PMac soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
3d636ff530 conf: PC-Speaker: define pcm configuration block only one time
There may be multiple PC-Speaker soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
ebb5ab7d84 conf: NFORCE: define pcm configuration block only one time
There may be multiple NFORCE soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
de72d65728 conf: Maestro3: define pcm configuration block only one time
There may be multiple Maestro3 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
ff4fb7f8c9 conf: Loopback: define pcm configuration block only one time
There may be multiple Loopback soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
99f1987a1e conf: ICH,ICH4,ICH-MODEM: define pcm configuration block only one time
There may be multiple ICH soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
1f52b57ff8 conf: ICE17[12][24]: define pcm configuration block only one time
There may be multiple ICE17[12][24] soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
dded72a687 conf: HdmiLpeAudio: define pcm configuration block only one time
There may be multiple HdmiLpeAudio soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
a87570df72 conf: GUS: define pcm configuration block only one time
There may be multiple GUS soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
ea93979929 conf: FWSpeakers: define pcm configuration block only one time
There may be multiple FWSpeakers soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
9f46e1a5a4 conf: FM801: define pcm configuration block only one time
There may be multiple FM801 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
2d5aa02738 conf: FireWave: define pcm configuration block only one time
There may be multiple FireWave soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
001a2f3809 conf: ES1968: define pcm configuration block only one time
There may be multiple ES1968 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
7cf26f6038 conf: ENS137[01]: define pcm configuration block only one time
There may be multiple ENS137[01] soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
dba724706a conf: EMU10K1X: define pcm configuration block only one time
There may be multiple EMU10K1X soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
ed4884cbe1 conf: EMU10K1: define pcm configuration block only one time
There may be multiple EMU10K1 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
8c10056244 conf: Aureon51: define pcm configuration block only one time
There may be multiple Aureon51 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:36:20 +01:00
Jaroslav Kysela
0ba7c27165 conf: Echo3G: define pcm configuration block only one time
There may be multiple Echo3G soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
1e29ff1840 conf: CS46xx: define pcm configuration block only one time
There may be multiple CS46xx soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
041299ea39 conf: CMI8xxx: define pcm configuration block only one time
There may be multiple CMI8xxx soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
68b8b43541 conf: CA0106: define pcm configuration block only one time
There may be multiple CA0106 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:29:47 +01:00
Jaroslav Kysela
ea984c3a7d conf: AU88[123]0: define pcm configuration block only one time
There may be multiple AU88[123]0 soundcards in the system. Overwrite
the PCM configurations when loaded multiple times.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2025-12-10 16:29:38 +01:00