summaryrefslogtreecommitdiffstats
path: root/src/network/socket
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@qt.io>2018-06-13 12:14:19 +0200
committerTimur Pocheptsov <timur.pocheptsov@qt.io>2018-06-14 09:10:09 +0000
commit6afd5990c79d86d4136b41018066c05c95d1b0d2 (patch)
tree9fee64de240daaf442b9f09733f7df0dd853d81f /src/network/socket
parentc42be96d808de23f26d71a1c7f2dbeafbe251b92 (diff)
QNativeSocketEnginePrivate (win) read sender's port and address
even if recvmsg results in WSAEMSGSIZE. Task-number: QTBUG-68755 Change-Id: I418e924b3e9001e7b7ad991e32d7d6f89ae499af Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/network/socket')
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp
index c303f01648..1b84b26d83 100644
--- a/src/network/socket/qnativesocketengine_win.cpp
+++ b/src/network/socket/qnativesocketengine_win.cpp
@@ -1232,6 +1232,8 @@ qint64 QNativeSocketEnginePrivate::nativeReceiveDatagram(char *data, qint64 maxL
// it is ok the buffer was to small if bytesRead is larger than
// maxLength then assume bytes read is really maxLenth
ret = qint64(bytesRead) > maxLength ? maxLength : qint64(bytesRead);
+ if (options & QNativeSocketEngine::WantDatagramSender)
+ qt_socket_getPortAndAddress(socketDescriptor, &aa, &header->senderPort, &header->senderAddress);
} else {
WS_ERROR_DEBUG(err);
switch (err) {