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

Peter Meerwald pmeerw at pmeerw.net
Mon Aug 18 14:30: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?
> 
> No objections, go ahead.

pushed the series, thanks!

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