[pulseaudio-discuss] [PATCH 3/4] context: Stop and return if srbchannel memblock looks fishy

David Henningsson david.henningsson at canonical.com
Mon Aug 18 09:54:11 PDT 2014



On 2014-08-18 17:15, Peter Meerwald wrote:
> From: Peter Meerwald <p.meerwald at bct-electronic.com>
>
> handle_srbchannel_memblock() should return when memblock sanity checks fail

Hmm, the reason I kept it on separate lines was for more specific error 
checking, i e, you could tell which of the checks that failed from 
looking in the debug log. IIRC, I'm not sure? But yeah, the early return 
makes sense.

>
> Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
> Cc: David Henningsson <david.henningsson at canonical.com>
> ---
>   src/pulse/context.c |    9 ++++-----
>   1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/src/pulse/context.c b/src/pulse/context.c
> index db89b58..b8ebced 100644
> --- a/src/pulse/context.c
> +++ b/src/pulse/context.c
> @@ -350,12 +350,11 @@ static void handle_srbchannel_memblock(pa_context *c, pa_memblock *memblock) {
>       pa_assert(c);
>
>       /* Memblock sanity check */
> -    if (!memblock)
> -        pa_context_fail(c, PA_ERR_PROTOCOL);
> -    else if (pa_memblock_is_read_only(memblock))
> -        pa_context_fail(c, PA_ERR_PROTOCOL);
> -    else if (pa_memblock_is_ours(memblock))
> +    if (!memblock || pa_memblock_is_read_only(memblock) ||
> +        pa_memblock_is_ours(memblock)) {
>           pa_context_fail(c, PA_ERR_PROTOCOL);
> +        return;
> +    }
>
>       /* Create the srbchannel */
>       c->srb_template.memblock = memblock;
>

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic


More information about the pulseaudio-discuss mailing list