summary: MSN SLP buffer overflow
Buffer overflow. `memcpy` was used without checking the size of the buffer
before copying to it. Additionally, a logic flaw was causing the wrong buffer
to be used as the destination for the copy under certain circumstances.
Correct the logic to select the correct buffer, and add bounds checking to
prevent malformed messages causing a buffer overflow.