diff options
-rw-r--r-- | src/network/socket/qlocalsocket_win.cpp | 6 | ||||
-rw-r--r-- | tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp | 1 |
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() |