summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/pulse/context.c3
-rw-r--r--src/pulsecore/protocol-native.c4
2 files changed, 5 insertions, 2 deletions
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;