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

Peter Meerwald pmeerw at pmeerw.net
Mon Aug 18 10:17:02 PDT 2014


> > 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.

ah, ok; I'll add three returns then

any objections to apply the series?

thanks, p.

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

-- 

Peter Meerwald
+43-664-2444418 (mobile)


More information about the pulseaudio-discuss mailing list