[pulseaudio-discuss] [PATCH] sample-util: Remove redundant check from pa_volume_memchunk.

Tanu Kaskinen tanu.kaskinen at digia.com
Fri Mar 23 02:01:22 PDT 2012


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);
 
-- 
1.7.8



More information about the pulseaudio-discuss mailing list