context: Stop and return if srbchannel memblock looks fishy

handle_srbchannel_memblock() should return when memblock sanity checks fail

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Cc: David Henningsson <david.henningsson@canonical.com>
This commit is contained in:
Peter Meerwald 2014-08-18 17:02:40 +02:00
parent fd19327327
commit fc0447ce88

View file

@ -350,12 +350,16 @@ static void handle_srbchannel_memblock(pa_context *c, pa_memblock *memblock) {
pa_assert(c); pa_assert(c);
/* Memblock sanity check */ /* Memblock sanity check */
if (!memblock) if (!memblock) {
pa_context_fail(c, PA_ERR_PROTOCOL); 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); 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); pa_context_fail(c, PA_ERR_PROTOCOL);
return;
}
/* Create the srbchannel */ /* Create the srbchannel */
c->srb_template.memblock = memblock; c->srb_template.memblock = memblock;