From b23efc0a4d409792c49110d01377f4d76f3aef25 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 20 Jan 2009 02:15:43 +0100 Subject: add missing eof checks --- src/pulse/context.c | 3 ++- src/pulsecore/protocol-native.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/pulse/context.c b/src/pulse/context.c index 3145d9c8..d41e62e2 100644 --- a/src/pulse/context.c +++ b/src/pulse/context.c @@ -366,7 +366,8 @@ int pa_context_handle_error(pa_context *c, uint32_t command, pa_tagstruct *t, pa if (command == PA_COMMAND_ERROR) { pa_assert(t); - if (pa_tagstruct_getu32(t, &err) < 0) { + if (pa_tagstruct_getu32(t, &err) < 0 || + !pa_tagstruct_eof(t)) { pa_context_fail(c, PA_ERR_PROTOCOL); return -1; } diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c index a49d5dfb..f1735a78 100644 --- a/src/pulsecore/protocol-native.c +++ b/src/pulsecore/protocol-native.c @@ -2484,7 +2484,9 @@ static void command_create_upload_stream(pa_pdispatch *pd, uint32_t command, uin p = pa_proplist_new(); - if (c->version >= 13 && pa_tagstruct_get_proplist(t, p) < 0) { + if ((c->version >= 13 && pa_tagstruct_get_proplist(t, p) < 0) || + !pa_tagstruct_eof(t)) { + protocol_error(c); pa_proplist_free(p); return; -- cgit