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
cddd067
..
c3d9f7f
100644
(file)
--- a/
src/common/protocols/datastream/datastreampeer.cpp
+++ b/
src/common/protocols/datastream/datastreampeer.cpp
@@
-24,6
+24,7
@@
#include <QTcpSocket>
#include "datastreampeer.h"
#include <QTcpSocket>
#include "datastreampeer.h"
+#include "serializers/serializers.h"
using namespace Protocol;
using namespace Protocol;
@@
-58,7
+59,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, 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;