[oe] [meta-qt5][PATCH] qtserialport: backport patch to silence Valgrind warning

Jonathan Liu net147 at gmail.com
Tue Mar 10 06:37:12 UTC 2015


Signed-off-by: Jonathan Liu <net147 at gmail.com>
---
 .../0001-Unix-Clear-serial_struct-instances.patch  | 42 ++++++++++++++++++++++
 recipes-qt/qt5/qtserialport.inc                    |  4 +++
 .../0001-Unix-Clear-serial_struct-instances.patch  | 42 ++++++++++++++++++++++
 3 files changed, 88 insertions(+)
 create mode 100644 recipes-qt/qt5/qtserialport-git/0001-Unix-Clear-serial_struct-instances.patch
 create mode 100644 recipes-qt/qt5/qtserialport/0001-Unix-Clear-serial_struct-instances.patch

diff --git a/recipes-qt/qt5/qtserialport-git/0001-Unix-Clear-serial_struct-instances.patch b/recipes-qt/qt5/qtserialport-git/0001-Unix-Clear-serial_struct-instances.patch
new file mode 100644
index 0000000..b14cf01
--- /dev/null
+++ b/recipes-qt/qt5/qtserialport-git/0001-Unix-Clear-serial_struct-instances.patch
@@ -0,0 +1,42 @@
+From 53afe73154c7c00b54cd280fa3d6c9127a2bc84b Mon Sep 17 00:00:00 2001
+From: Jonathan Liu <net147 at gmail.com>
+Date: Mon, 9 Mar 2015 22:35:56 +1100
+Subject: [PATCH] Unix: Clear serial_struct instances
+
+Silences the following Valgrind warning:
+Conditional jump or move depends on uninitialised value(s)
+
+Upstream-Status: Backport from 5.5 branch
+
+Change-Id: I8fd8cfd6aa6f75ed515e6151cfc282faca508bdc
+Reviewed-by: Denis Shienkov <denis.shienkov at gmail.com>
+Signed-off-by: Jonathan Liu <net147 at gmail.com>
+---
+ src/serialport/qserialport_unix.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp
+index 34ef41d..7cf356b 100644
+--- a/src/serialport/qserialport_unix.cpp
++++ b/src/serialport/qserialport_unix.cpp
+@@ -439,6 +439,8 @@ QSerialPortPrivate::setStandardBaudRate(qint32 baudRate, QSerialPort::Directions
+ {
+     struct serial_struct currentSerialInfo;
+ 
++    ::memset(&currentSerialInfo, 0, sizeof(currentSerialInfo));
++
+     if ((::ioctl(descriptor, TIOCGSERIAL, &currentSerialInfo) != -1)
+             && (currentSerialInfo.flags & ASYNC_SPD_CUST)) {
+         currentSerialInfo.flags &= ~ASYNC_SPD_CUST;
+@@ -469,6 +471,8 @@ QSerialPortPrivate::setCustomBaudRate(qint32 baudRate, QSerialPort::Directions d
+ 
+     struct serial_struct currentSerialInfo;
+ 
++    ::memset(&currentSerialInfo, 0, sizeof(currentSerialInfo));
++
+     if (::ioctl(descriptor, TIOCGSERIAL, &currentSerialInfo) == -1)
+         return decodeSystemError();
+ 
+-- 
+2.3.2
+
diff --git a/recipes-qt/qt5/qtserialport.inc b/recipes-qt/qt5/qtserialport.inc
index 8bb168e..c9877c6 100644
--- a/recipes-qt/qt5/qtserialport.inc
+++ b/recipes-qt/qt5/qtserialport.inc
@@ -1,5 +1,9 @@
 require qt5.inc
 
+SRC_URI += " \
+    file://0001-Unix-Clear-serial_struct-instances.patch \
+"
+
 DEPENDS += "qtbase"
 
 # text of LGPL_EXCEPTION.txt and LICENSE.FDL is slightly different than what
diff --git a/recipes-qt/qt5/qtserialport/0001-Unix-Clear-serial_struct-instances.patch b/recipes-qt/qt5/qtserialport/0001-Unix-Clear-serial_struct-instances.patch
new file mode 100644
index 0000000..b14cf01
--- /dev/null
+++ b/recipes-qt/qt5/qtserialport/0001-Unix-Clear-serial_struct-instances.patch
@@ -0,0 +1,42 @@
+From 53afe73154c7c00b54cd280fa3d6c9127a2bc84b Mon Sep 17 00:00:00 2001
+From: Jonathan Liu <net147 at gmail.com>
+Date: Mon, 9 Mar 2015 22:35:56 +1100
+Subject: [PATCH] Unix: Clear serial_struct instances
+
+Silences the following Valgrind warning:
+Conditional jump or move depends on uninitialised value(s)
+
+Upstream-Status: Backport from 5.5 branch
+
+Change-Id: I8fd8cfd6aa6f75ed515e6151cfc282faca508bdc
+Reviewed-by: Denis Shienkov <denis.shienkov at gmail.com>
+Signed-off-by: Jonathan Liu <net147 at gmail.com>
+---
+ src/serialport/qserialport_unix.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp
+index 34ef41d..7cf356b 100644
+--- a/src/serialport/qserialport_unix.cpp
++++ b/src/serialport/qserialport_unix.cpp
+@@ -439,6 +439,8 @@ QSerialPortPrivate::setStandardBaudRate(qint32 baudRate, QSerialPort::Directions
+ {
+     struct serial_struct currentSerialInfo;
+ 
++    ::memset(&currentSerialInfo, 0, sizeof(currentSerialInfo));
++
+     if ((::ioctl(descriptor, TIOCGSERIAL, &currentSerialInfo) != -1)
+             && (currentSerialInfo.flags & ASYNC_SPD_CUST)) {
+         currentSerialInfo.flags &= ~ASYNC_SPD_CUST;
+@@ -469,6 +471,8 @@ QSerialPortPrivate::setCustomBaudRate(qint32 baudRate, QSerialPort::Directions d
+ 
+     struct serial_struct currentSerialInfo;
+ 
++    ::memset(&currentSerialInfo, 0, sizeof(currentSerialInfo));
++
+     if (::ioctl(descriptor, TIOCGSERIAL, &currentSerialInfo) == -1)
+         return decodeSystemError();
+ 
+-- 
+2.3.2
+
-- 
2.3.1




More information about the Openembedded-devel mailing list