diff options
author | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2018-06-13 12:14:19 +0200 |
---|---|---|
committer | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2018-06-14 09:10:09 +0000 |
commit | 6afd5990c79d86d4136b41018066c05c95d1b0d2 (patch) | |
tree | 9fee64de240daaf442b9f09733f7df0dd853d81f | |
parent | c42be96d808de23f26d71a1c7f2dbeafbe251b92 (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>
-rw-r--r-- | src/network/socket/qnativesocketengine_win.cpp | 2 |
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) { |