mirror of
https://github.com/badaix/snapcast.git
synced 2025-06-01 18:31:45 +02:00
close connection if message size exceeds 1meg
This commit is contained in:
parent
bb413e516d
commit
40ea6e9dad
2 changed files with 8 additions and 0 deletions
|
@ -105,6 +105,8 @@ struct tv
|
||||||
namespace msg
|
namespace msg
|
||||||
{
|
{
|
||||||
|
|
||||||
|
const size_t max_size = 1000000;
|
||||||
|
|
||||||
struct BaseMessage
|
struct BaseMessage
|
||||||
{
|
{
|
||||||
BaseMessage() : type(kBase), id(0), refersTo(0)
|
BaseMessage() : type(kBase), id(0), refersTo(0)
|
||||||
|
|
|
@ -157,6 +157,12 @@ void StreamSession::getNextMessage()
|
||||||
vector<char> buffer(baseMsgSize);
|
vector<char> buffer(baseMsgSize);
|
||||||
socketRead(&buffer[0], baseMsgSize);
|
socketRead(&buffer[0], baseMsgSize);
|
||||||
baseMessage.deserialize(&buffer[0]);
|
baseMessage.deserialize(&buffer[0]);
|
||||||
|
if (baseMessage.size > msg::max_size)
|
||||||
|
{
|
||||||
|
logS(kLogErr) << "received message of type " << baseMessage.type << " to large: " << baseMessage.size << "\n";
|
||||||
|
stop();
|
||||||
|
return;
|
||||||
|
}
|
||||||
// logO << "getNextMessage: " << baseMessage.type << ", size: " << baseMessage.size << ", id: " << baseMessage.id << ", refers: " << baseMessage.refersTo << "\n";
|
// logO << "getNextMessage: " << baseMessage.type << ", size: " << baseMessage.size << ", id: " << baseMessage.id << ", refers: " << baseMessage.refersTo << "\n";
|
||||||
if (baseMessage.size > buffer.size())
|
if (baseMessage.size > buffer.size())
|
||||||
buffer.resize(baseMessage.size);
|
buffer.resize(baseMessage.size);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue