arecord is failing with -V stereo

sujith kumar reddy sujithreddy6192 at gmail.com
Mon Aug 23 18:31:44 CEST 2021


Hi Folkert,

In all version it is crashing.
when i debug these i found that p value is coming negative at memset.
the function snippet is:
in aplay.c file in alsa-utils.

in  the below function for  c=0 it is working when c incremented to 1 the p
value is becoming negative . so memset is crashing.

static void print_vu_meter_stereo(int *perc, int *maxperc)
{
        const int bar_length = 35;
        char line[80];
        int c;

        memset(line, ' ', sizeof(line) - 1);
        line[bar_length + 3] = '|';

        for (c = 0; c < 2; c++) {
                int p = perc[c] * bar_length / 100;
                char tmp[4];
                if (p > bar_length)
                        p = bar_length;
                if (c)
                        memset(line + bar_length + 6 + 1, '#', p);
----------------//this is the line where it is crashing.here p value is
becoming negative at c=1.As we see if we change the p value to bar_length
it works fine ..As it is a player issue not a driver issue.


                else
                        memset(line + bar_length - p - 1, '#', p);
                p = maxperc[c] * bar_length / 100;
                if (p > bar_length)
                        p = bar_length;
                if (c)
                        line[bar_length + 6 + 1 + p] = '+';
                else
                        line[bar_length - p - 1] = '+';
                if (maxperc[c] > 99)
                        sprintf(tmp, "MAX");
                else
                        sprintf(tmp, "%02d%%", maxperc[c]);
                if (c)
                        memcpy(line + bar_length + 3 + 1, tmp, 3);
                else
                        memcpy(line + bar_length, tmp, 3);
        }
        line[bar_length * 2 + 6 + 2] = 0;
        fputs(line, stderr);
}
Could you please help on this.As the driver data is fine when we keep p
value to bar length and checked .
.


Thanks
Sujith





On Fri, Aug 20, 2021 at 12:36 AM folkert <folkert at vanheusden.com> wrote:

> > > > arecord is  failing vumeter option -V stereo only.
> > >
> > > What version?
> > > Because the commandline you provide works fine here with
> 1.2.4-1ubuntu3.
> >
> > 1.2.1.2
>
> See what happens if you upgrade to 1.2.4.
>


More information about the Alsa-devel mailing list