summaryrefslogtreecommitdiffstats
path: root/src/server/net/discoverylistener.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/net/discoverylistener.cpp')
-rw-r--r--src/server/net/discoverylistener.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/server/net/discoverylistener.cpp b/src/server/net/discoverylistener.cpp
index e8d286d..e37c81e 100644
--- a/src/server/net/discoverylistener.cpp
+++ b/src/server/net/discoverylistener.cpp
@@ -79,14 +79,14 @@ static quint16 hash(const QHostAddress& host)
} else {
// Durr?
len = 2;
- data[0] = (quint16)qrand();
- data[1] = (quint16)qrand();
+ data[0] = (quint8)qrand();
+ data[1] = (quint8)qrand();
}
quint16 result = 0;
quint16 mod = seed1;
for (quint8 i = 0; i < len; ++i) {
- result = ((result << 1) + data[i]) ^ mod; // because of the shift this algo is not suitable for len(input) > 8
- mod += seed2 + data[i];
+ result = (quint16)(((result << 1) + data[i]) ^ mod); // because of the shift this algo is not suitable for len(input) > 8
+ mod = (quint16)(mod + seed2 + data[i]);
}
return result;
}
@@ -99,15 +99,16 @@ static quint16 hash(const QHostAddress& host)
* @brief Decrease packet counters per source IP in our "spam protection" table.
* @param event
*/
-void DiscoveryListener::timerEvent(QTimerEvent* event)
+void DiscoveryListener::timerEvent(QTimerEvent* /* event */ )
{
for (int i = 0; i < SPAM_MODERATE_AT_ONCE; ++i) {
if (++_counterResetPos >= SD_PACKET_TABLE_SIZE)
_counterResetPos = 0;
- if (_packetCounter[_counterResetPos] > 10)
- _packetCounter[_counterResetPos] -= 10;
- else if (_packetCounter[_counterResetPos] != 0)
+ if (_packetCounter[_counterResetPos] > 10) {
+ _packetCounter[_counterResetPos] = (quint8)(_packetCounter[_counterResetPos] - 10);
+ } else if (_packetCounter[_counterResetPos] != 0) {
_packetCounter[_counterResetPos] = 0;
+ }
}
}