From eaebc23452813a8709d2bbb4d17fddb1b4f29d91 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 15 Nov 2016 12:13:40 +0100 Subject: Increase compiler warnings, fix a lot of those instances - Add explicit casts - Comment out unused params - Remove ignored const return types --- src/shared/networkmessage.cpp | 28 ++++++++++++++-------------- src/shared/networkmessage.h | 6 +++--- 2 files changed, 17 insertions(+), 17 deletions(-) (limited to 'src/shared') diff --git a/src/shared/networkmessage.cpp b/src/shared/networkmessage.cpp index 61a29ea..64e02e7 100644 --- a/src/shared/networkmessage.cpp +++ b/src/shared/networkmessage.cpp @@ -13,41 +13,41 @@ #define MAX_MSG_LEN 60000 #define BYTE_SWAP4(x) \ - (((x & 0xFF000000) >> 24) | \ - ((x & 0x00FF0000) >> 8) | \ - ((x & 0x0000FF00) << 8) | \ - ((x & 0x000000FF) << 24)) + ((((x) & 0xFF000000u) >> 24) | \ + (((x) & 0x00FF0000u) >> 8) | \ + (((x) & 0x0000FF00u) << 8) | \ + (((x) & 0x000000FFu) << 24)) #define BYTE_SWAP2(x) \ - (((x & 0xFF00) >> 8) | \ - ((x & 0x00FF) << 8)) + ((((x) & 0xFF00u) >> 8) | \ + (((x) & 0x00FFu) << 8)) static quint16 _htons(quint16 x) { if (QSysInfo::ByteOrder == QSysInfo::BigEndian) return x; - return BYTE_SWAP2(x); + return (quint16)BYTE_SWAP2(x); } static quint16 _ntohs(quint16 x) { if (QSysInfo::ByteOrder == QSysInfo::BigEndian) return x; - return BYTE_SWAP2(x); + return (quint16)BYTE_SWAP2(x); } static quint32 _htonl(quint32 x) { if (QSysInfo::ByteOrder == QSysInfo::BigEndian) return x; - return BYTE_SWAP4(x); + return (quint32)BYTE_SWAP4(x); } static quint32 _ntohl(quint32 x) { if (QSysInfo::ByteOrder == QSysInfo::BigEndian) return x; - return BYTE_SWAP4(x); + return (quint32)BYTE_SWAP4(x); } /* @@ -105,11 +105,11 @@ int NetworkMessage::readMessage(QAbstractSocket* socket) while (_bufferSize > _bufferPos && socket->bytesAvailable() > 0) { const qint64 ret = socket->read(_buffer + _bufferPos, _bufferSize - _bufferPos); //qDebug() << "Read " << ret << " bytes"; - if (ret < 0) { + if (ret < 0 || ret > (_bufferSize - _bufferPos)) { qDebug("Socket read failed (TCP), return code %d", (int)ret); return NM_READ_FAILED; } - _bufferPos += ret; + _bufferPos += (quint32)ret; //qDebug() << "Buffer has now " << _bufferPos << " of " << _bufferSize << " bytes"; } if (_bufferSize == _bufferPos) { @@ -200,9 +200,9 @@ bool NetworkMessage::writeMessage(QAbstractSocket * const socket) const qint64 ret = socket->write(_buffer + _bufferPos, _bufferSize - _bufferPos); if (ret == 0) return true; - if (ret < 0) + if (ret < 0 || ret > (_bufferSize - _bufferPos)) return false; - _bufferPos += ret; + _bufferPos += (quint32)ret; if (_bufferPos == _bufferSize) { _bufferPos = 0; _mode = 4; diff --git a/src/shared/networkmessage.h b/src/shared/networkmessage.h index 290e3b5..c072070 100644 --- a/src/shared/networkmessage.h +++ b/src/shared/networkmessage.h @@ -67,9 +67,9 @@ public: bool writeMessage(QAbstractSocket * const socket); bool writeMessage(QUdpSocket* socket, const QHostAddress& address, quint16 port); void reset() { _fields.clear(); _bufferSize = 0; _mode = 0; } - const bool readComplete() const { return _mode == 3; } - const bool writeComplete() const { return _mode == 4; } - const bool hasField(const QByteArray& key) const { return _fields.contains(key); } + bool readComplete() { return _mode == 3; } + bool writeComplete() { return _mode == 4; } + bool hasField(QByteArray& key) { return _fields.contains(key); } const QString getFieldString(const QByteArray& key) const { return QString::fromUtf8(_fields.value(key)); } const QByteArray getFieldBytes(const QByteArray& key) const { return _fields.value(key); } void setField(const QByteArray& key, const QByteArray& value) { if (_mode == 1 || _mode == 2) qFatal("setField called in bad state."); _fields.insert(key, value); _mode = 0; } -- cgit v1.2.3-55-g7522