P2P: Make sure parsed Device Name gets null terminated
authorJouni Malinen <jouni.malinen@atheros.com>
Tue, 7 Sep 2010 14:07:57 +0000 (17:07 +0300)
committerJouni Malinen <j@w1.fi>
Fri, 10 Sep 2010 17:30:26 +0000 (10:30 -0700)
If the msg->device_name buffer is filled from two different sources,
the copy from the P2P Device Info attribute needs to make sure that
the values gets null terminated to match the length of the correct
string should the other place use another string (which is not really
allowed by the spec, but could happen).

src/p2p/p2p_parse.c

index bbd727a..a10389b 100644 (file)
@@ -162,6 +162,7 @@ static int p2p_parse_attribute(u8 id, const u8 *data, u16 len,
                        return -1;
                }
                os_memcpy(msg->device_name, pos, nlen);
+               msg->device_name[nlen] = '\0';
                for (i = 0; i < nlen; i++) {
                        if (msg->device_name[i] == '\0')
                                break;