diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-07-01 14:25:13 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-07-01 14:25:13 +0200 |
commit | a10b7cda4eb9aaa0523c429621bb31fd1246cc05 (patch) | |
tree | 8a8a4640b778b33c59bc3f633d3fc534b6a791e5 | |
parent | cd70d7f5b05778d810382c88695fa295a8557c4e (diff) |
native: don't hit assert when user uploads zero-sized sample
-rw-r--r-- | src/pulsecore/protocol-native.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c index cda7ef57..96184bd2 100644 --- a/src/pulsecore/protocol-native.c +++ b/src/pulsecore/protocol-native.c @@ -2689,7 +2689,9 @@ static void command_finish_upload_stream(pa_pdispatch *pd, uint32_t command, uin CHECK_VALIDITY(c->pstream, s, tag, PA_ERR_NOENTITY); CHECK_VALIDITY(c->pstream, upload_stream_isinstance(s), tag, PA_ERR_NOENTITY); - if (pa_scache_add_item(c->protocol->core, s->name, &s->sample_spec, &s->channel_map, &s->memchunk, s->proplist, &idx) < 0) + if (!s->memchunk.memblock) + pa_pstream_send_error(c->pstream, tag, PA_ERR_TOOLARGE); + else if (pa_scache_add_item(c->protocol->core, s->name, &s->sample_spec, &s->channel_map, &s->memchunk, s->proplist, &idx) < 0) pa_pstream_send_error(c->pstream, tag, PA_ERR_INTERNAL); else pa_pstream_send_simple_ack(c->pstream, tag); |