summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/network/socket/qlocalsocket_win.cpp6
-rw-r--r--tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/network/socket/qlocalsocket_win.cpp b/src/network/socket/qlocalsocket_win.cpp
index e174952b96..41ec5a94d4 100644
--- a/src/network/socket/qlocalsocket_win.cpp
+++ b/src/network/socket/qlocalsocket_win.cpp
@@ -212,6 +212,12 @@ qint64 QLocalSocket::skipData(qint64 maxSize)
qint64 QLocalSocket::writeData(const char *data, qint64 len)
{
Q_D(QLocalSocket);
+ if (!isValid()) {
+ d->error = OperationError;
+ d->errorString = tr("Socket is not connected");
+ return -1;
+ }
+
if (len == 0)
return 0;
d->write(data, len);
diff --git a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
index fee44601cf..e481db6644 100644
--- a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
+++ b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
@@ -1267,6 +1267,7 @@ void tst_QLocalSocket::syncDisconnectNotify()
QVERIFY(serverSocket);
delete serverSocket;
QCOMPARE(client.waitForReadyRead(), false);
+ QVERIFY(!client.putChar(0));
}
void tst_QLocalSocket::asyncDisconnectNotify()