summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2014-02-06 18:38:16 +0400
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-10 18:14:09 +0100
commitf85c5fc1e25dd16dc625d15036d2dbc9498e8b76 (patch)
tree4cca414615ed903754d7235ca0f0386970d98e98
parent27cb087a6af00f4bdbfcbd1a8e064b504f593f21 (diff)
downloadqtserialport-f85c5fc1e25dd16dc625d15036d2dbc9498e8b76.tar.gz
Initialize the DCB structure before using it
Please refer to the MSDN documentation for details: http://msdn.microsoft.com/en-us/library/windows/desktop/aa363214%28v=vs.85%29.aspx and http://msdn.microsoft.com/en-us/library/windows/desktop/aa363201%28v=vs.85%29.aspx Change-Id: Id60f6d1b4a9237c2ae74063ac52221f42761b004 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
-rw-r--r--src/serialport/qserialport_win.cpp3
-rw-r--r--src/serialport/qserialport_wince.cpp3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/serialport/qserialport_win.cpp b/src/serialport/qserialport_win.cpp
index 3bd0076..116206f 100644
--- a/src/serialport/qserialport_win.cpp
+++ b/src/serialport/qserialport_win.cpp
@@ -159,6 +159,9 @@ bool QSerialPortPrivate::open(QIODevice::OpenMode mode)
return false;
}
+ ::ZeroMemory(&restoredDcb, sizeof(restoredDcb));
+ restoredDcb.DCBlength = sizeof(restoredDcb);
+
if (!::GetCommState(handle, &restoredDcb)) {
q->setError(decodeSystemError());
return false;
diff --git a/src/serialport/qserialport_wince.cpp b/src/serialport/qserialport_wince.cpp
index 0a454b4..d9116cc 100644
--- a/src/serialport/qserialport_wince.cpp
+++ b/src/serialport/qserialport_wince.cpp
@@ -188,6 +188,9 @@ bool QSerialPortPrivate::open(QIODevice::OpenMode mode)
return false;
}
+ ::ZeroMemory(&restoredDcb, sizeof(restoredDcb));
+ restoredDcb.DCBlength = sizeof(restoredDcb);
+
if (!::GetCommState(handle, &restoredDcb)) {
q->setError(decodeSystemError());
return false;