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;