From fc0447ce8806bff1484b01f217e4366da87a6d9b Mon Sep 17 00:00:00 2001 From: Peter Meerwald Date: Mon, 18 Aug 2014 17:02:40 +0200 Subject: [PATCH] context: Stop and return if srbchannel memblock looks fishy handle_srbchannel_memblock() should return when memblock sanity checks fail Signed-off-by: Peter Meerwald Cc: David Henningsson --- src/pulse/context.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/pulse/context.c b/src/pulse/context.c index db89b58e5..387306cd4 100644 --- a/src/pulse/context.c +++ b/src/pulse/context.c @@ -350,12 +350,16 @@ static void handle_srbchannel_memblock(pa_context *c, pa_memblock *memblock) { pa_assert(c); /* Memblock sanity check */ - if (!memblock) + if (!memblock) { pa_context_fail(c, PA_ERR_PROTOCOL); - else if (pa_memblock_is_read_only(memblock)) + return; + } else if (pa_memblock_is_read_only(memblock)) { pa_context_fail(c, PA_ERR_PROTOCOL); - else if (pa_memblock_is_ours(memblock)) + return; + } else if (pa_memblock_is_ours(memblock)) { pa_context_fail(c, PA_ERR_PROTOCOL); + return; + } /* Create the srbchannel */ c->srb_template.memblock = memblock;