diff options
author | Tilman Keskinoz <arved@FreeBSD.org> | 2003-01-18 16:08:21 +0000 |
---|---|---|
committer | Tilman Keskinoz <arved@FreeBSD.org> | 2003-01-18 16:08:21 +0000 |
commit | 33d3d91ed6959c3fc9fa51e9275fe7f1ad5f0449 (patch) | |
tree | 5b390c4549e9e1537995b1284cf767cecde4dd20 /audio | |
parent | Install 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/Makefile | 1 | ||||
-rw-r--r-- | audio/gmixer/files/patch-ac | 39 |
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; |