summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorTilman Keskinoz <arved@FreeBSD.org>2003-01-18 16:08:21 +0000
committerTilman Keskinoz <arved@FreeBSD.org>2003-01-18 16:08:21 +0000
commit33d3d91ed6959c3fc9fa51e9275fe7f1ad5f0449 (patch)
tree5b390c4549e9e1537995b1284cf767cecde4dd20 /audio
parentInstall additional Documentation. (diff)
Add a patch, that fixes a Coredump. From the PR:
"volctrls array is only initialized for the first 17 devices, various array buffers were allocated to SOUND_MIXER_NRDEVICES and around that line 295, that SOUND_MIXER_NRDEVICES was also used as upper limit in for loop. This turned out to be problem, because in my machine that variable seems to have value 25" PR: 38560 Submitted by: Juha Ylitalo <jylitalo@iki.fi> Approved by: Maintainer timeout (8 Months)
Notes
Notes: svn path=/head/; revision=73401
Diffstat (limited to 'audio')
-rw-r--r--audio/gmixer/Makefile1
-rw-r--r--audio/gmixer/files/patch-ac39
2 files changed, 40 insertions, 0 deletions
diff --git a/audio/gmixer/Makefile b/audio/gmixer/Makefile
index 8622b22221c8..8c90c7f09fa9 100644
--- a/audio/gmixer/Makefile
+++ b/audio/gmixer/Makefile
@@ -7,6 +7,7 @@
PORTNAME= gmixer
PORTVERSION= 0.98c
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= cpiazza
diff --git a/audio/gmixer/files/patch-ac b/audio/gmixer/files/patch-ac
new file mode 100644
index 000000000000..1e6e75ec78ca
--- /dev/null
+++ b/audio/gmixer/files/patch-ac
@@ -0,0 +1,39 @@
+--- patch-ac begins here ---
+--- gmixer.c 2002/05/26 05:09:08 1.1
++++ gmixer.c 2002/05/26 05:21:05
+@@ -378,6 +378,27 @@
+ exit(0);
+ }
+
++void fill_volctrls ()
++{
++ int i;
++ char str[3];
++
++ /* if you raise upper limit beyond 100, you have to make str longer. */
++ for (i = 17; i < SOUND_MIXER_NRDEVICES && i < 100 ; i++ )
++ {
++ snprintf (str, 3, "%2d", i);
++ volctrls[i].mixer_id = (gpointer) str;
++ volctrls[i].vol_widget = NULL;
++ volctrls[i].right_widget = NULL;
++ volctrls[i].enable_widget = NULL;
++ volctrls[i].rec_widget = NULL;
++ volctrls[i].stereo_widget = NULL;
++ volctrls[i].vol_left = NULL;
++ volctrls[i].vol_right = NULL;
++ volctrls[i].xpm = mix_unknown_xpm;
++ }
++}
++
+ int main (int argc, char *argv[])
+ {
+ char *homedir;
+@@ -385,6 +406,7 @@
+ char *default_dev = "/dev/mixer";
+ int i;
+ g_print ("gmixer 0.98 (22.2.1999)\nCopyleft (C) 1998,1999 - Sergey Kiselev <sergey@junior.technion.ac.il>\n");
++ fill_volctrls();
+ homedir = getenv("HOME");
+ snprintf (rcfile, NAME_LEN, "%s/.gmixerrc", homedir);
+ mixer_dev = default_dev;