'Twas brillig, and Tanu Kaskinen at 23/03/12 09:01 did gyre and gimble: > Add also an assertion for the sample spec validity. The > existing code already does crash in case of an invalid > sample spec, but the error would not be as obvious: the > crash would happen due to a divide-by-zero operation in > pa_frame_aligned(). > --- > src/pulsecore/sample-util.c | 6 +----- > 1 files changed, 1 insertions(+), 5 deletions(-) > > diff --git a/src/pulsecore/sample-util.c b/src/pulsecore/sample-util.c > index f2017aa..38201b2 100644 > --- a/src/pulsecore/sample-util.c > +++ b/src/pulsecore/sample-util.c > @@ -721,6 +721,7 @@ void pa_volume_memchunk( > > pa_assert(c); > pa_assert(spec); > + pa_assert(pa_sample_spec_valid(spec)); > pa_assert(pa_frame_aligned(c->length, spec)); > pa_assert(volume); > > @@ -735,11 +736,6 @@ void pa_volume_memchunk( > return; > } > > - if (spec->format < 0 || spec->format >= PA_SAMPLE_MAX) { > - pa_log_warn("Unable to change volume of format"); > - return; > - } > - > do_volume = pa_get_volume_func(spec->format); > pa_assert(do_volume); > Seems correct to me. Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited http://www.tribalogic.net/ Open Source: Mageia Contributor http://www.mageia.org/ PulseAudio Hacker http://www.pulseaudio.org/ Trac Hacker http://trac.edgewall.org/