alsactl fix

This commit is contained in:
Jaroslav Kysela 2013-12-29 20:14:10 +01:00
parent dbc8696ae1
commit 57fbcdc319
2 changed files with 34 additions and 1 deletions

View File

@ -4,7 +4,7 @@
Summary: Advanced Linux Sound Architecture (ALSA) utilities
Name: alsa-utils
Version: %{baseversion}%{?fixversion}
Release: 3%{?dist}
Release: 4%{?dist}
License: GPLv2+
Group: Applications/Multimedia
URL: http://www.alsa-project.org/
@ -17,6 +17,7 @@ Source11: alsactl.conf
Source20: alsa-restore.service
Source21: alsa-store.service
Source22: alsa-state.service
Patch1: alsactl-valist.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: alsa-lib-devel >= %{baseversion}
BuildRequires: libsamplerate-devel
@ -34,6 +35,7 @@ This package contains command line utilities for the Advanced Linux Sound
Architecture (ALSA).
%prep
%patch1 -p1 -b .alsactl-valist
%setup -q -n %{name}-%{version}
%build
@ -114,6 +116,9 @@ if [ -s /etc/asound.state -a ! -s /var/lib/alsa/asound.state ] ; then
fi
%changelog
* Sun Dec 29 2013 Jaroslav Kysela <jkysela@redhat.com> - 1.0.27.2-4
- Fix alsactl crash issue - rhbz#994832
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.27.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

28
alsactl-valist.patch Normal file
View File

@ -0,0 +1,28 @@
diff --git a/alsactl/utils.c b/alsactl/utils.c
index 072c239..b5d183c 100644
--- a/alsactl/utils.c
+++ b/alsactl/utils.c
@@ -150,10 +150,10 @@ void cerror_(const char *fcn, long line, int cond, const char *fmt, ...)
if (!cond && !debugflag)
return;
+ va_start(ap, fmt);
if (use_syslog) {
syslog_(LOG_ERR, fcn, line, fmt, ap);
} else {
- va_start(ap, fmt);
fprintf(stderr, "%s: %s:%ld: ", command, fcn, line);
vfprintf(stderr, fmt, ap);
putc('\n', stderr);
@@ -167,10 +167,10 @@ void dbg_(const char *fcn, long line, const char *fmt, ...)
if (!debugflag)
return;
+ va_start(ap, fmt);
if (use_syslog) {
syslog_(LOG_DEBUG, fcn, line, fmt, ap);
} else {
- va_start(ap, fmt);
fprintf(stderr, "%s: %s:%ld: ", command, fcn, line);
vfprintf(stderr, fmt, ap);
putc('\n', stderr);