pulse-server: add size check when reading strings

This commit is contained in:
Wim Taymans 2021-11-25 10:14:30 +01:00
parent 5d20e3028a
commit a0d7fb01ba

View file

@ -181,7 +181,10 @@ static int read_arbitrary(struct message *m, const void **val, size_t *length)
static int read_string(struct message *m, char **str)
{
uint32_t n, maxlen = m->length - m->offset;
uint32_t n, maxlen;
if (m->offset + 1 > m->length)
return -ENOSPC;
maxlen = m->length - m->offset;
n = strnlen(SPA_PTROFF(m->data, m->offset, char), maxlen);
if (n == maxlen)
return -EINVAL;