[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(¤tSerialInfo, 0, sizeof(currentSerialInfo));
++
+ if ((::ioctl(descriptor, TIOCGSERIAL, ¤tSerialInfo) != -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(¤tSerialInfo, 0, sizeof(currentSerialInfo));
++
+ if (::ioctl(descriptor, TIOCGSERIAL, ¤tSerialInfo) == -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(¤tSerialInfo, 0, sizeof(currentSerialInfo));
++
+ if ((::ioctl(descriptor, TIOCGSERIAL, ¤tSerialInfo) != -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(¤tSerialInfo, 0, sizeof(currentSerialInfo));
++
+ if (::ioctl(descriptor, TIOCGSERIAL, ¤tSerialInfo) == -1)
+ return decodeSystemError();
+
+--
+2.3.2
+
--
2.3.1
More information about the Openembedded-devel
mailing list