projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement custom deserializer to add our own sanity checks
[quassel.git]
/
src
/
common
/
protocols
/
datastream
/
datastreampeer.cpp
diff --git
a/src/common/protocols/datastream/datastreampeer.cpp
b/src/common/protocols/datastream/datastreampeer.cpp
index
5c524ce
..
240560d
100644
(file)
--- a/
src/common/protocols/datastream/datastreampeer.cpp
+++ b/
src/common/protocols/datastream/datastreampeer.cpp
@@
-25,6
+25,7
@@
#include "datastreampeer.h"
#include "quassel.h"
#include "datastreampeer.h"
#include "quassel.h"
+#include "serializers/serializers.h"
using namespace Protocol;
using namespace Protocol;
@@
-59,7
+60,8
@@
void DataStreamPeer::processMessage(const QByteArray &msg)
QDataStream stream(msg);
stream.setVersion(QDataStream::Qt_4_2);
QVariantList list;
QDataStream stream(msg);
stream.setVersion(QDataStream::Qt_4_2);
QVariantList list;
- stream >> list;
+ if (!Serializers::deserialize(stream, features(), list))
+ close("Peer sent corrupt data, closing down!");
if (stream.status() != QDataStream::Ok) {
close("Peer sent corrupt data, closing down!");
return;
if (stream.status() != QDataStream::Ok) {
close("Peer sent corrupt data, closing down!");
return;