mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-04 01:48:54 +00:00
33d3d91ed6
"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)
40 lines
1.0 KiB
Plaintext
40 lines
1.0 KiB
Plaintext
--- 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;
|