From 45bbb3499929726971d2ab84f468413f39f97cb0 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 14 May 2006 16:18:00 +0000 Subject: add utf8 validity checking to esound protocol git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@865 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/polypcore/protocol-esound.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/polypcore/protocol-esound.c b/src/polypcore/protocol-esound.c index 50c8b6b5..aba40856 100644 --- a/src/polypcore/protocol-esound.c +++ b/src/polypcore/protocol-esound.c @@ -341,6 +341,8 @@ static int esd_proto_stream_play(struct connection *c, PA_GCC_UNUSED esd_proto_t strncpy(name, data, sizeof(name)); name[sizeof(name)-1] = 0; + CHECK_VALIDITY(pa_utf8_valid(name), "Invalid UTF8 in stream name"); + pa_client_set_name(c->client, name); assert(!c->sink_input && !c->input_memblockq); @@ -423,6 +425,8 @@ static int esd_proto_stream_record(struct connection *c, esd_proto_t request, co strncpy(name, data, sizeof(name)); name[sizeof(name)-1] = 0; + CHECK_VALIDITY(pa_utf8_valid(name), "Invalid UTF8 in stream name."); + pa_client_set_name(c->client, name); assert(!c->output_memblockq && !c->source_output); @@ -689,6 +693,8 @@ static int esd_proto_sample_cache(struct connection *c, PA_GCC_UNUSED esd_proto_ strcpy(name, SCACHE_PREFIX); strncpy(name+sizeof(SCACHE_PREFIX)-1, data, ESD_NAME_MAX); name[sizeof(name)-1] = 0; + + CHECK_VALIDITY(pa_utf8_valid(name), "Invalid UTF8 in sample name."); assert(!c->scache.memchunk.memblock); c->scache.memchunk.memblock = pa_memblock_new(sc_length, c->protocol->core->memblock_stat); @@ -719,6 +725,8 @@ static int esd_proto_sample_get_id(struct connection *c, PA_GCC_UNUSED esd_proto strncpy(name+sizeof(SCACHE_PREFIX)-1, data, ESD_NAME_MAX); name[sizeof(name)-1] = 0; + CHECK_VALIDITY(pa_utf8_valid(name), "Invalid UTF8 in sample name."); + ok = -1; if ((idx = pa_scache_get_id_by_name(c->protocol->core, name)) != PA_IDXSET_INVALID) ok = idx + 1; -- cgit