summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2017-01-09 23:02:45 +0100
committerAndré Hartmann <aha_1980@gmx.de>2017-02-06 10:42:55 +0000
commit0c60b2c10bd30e1ccb775a3fb406ba1e8214b1c3 (patch)
tree3480d212badfa8ebea089b5d08a8e75405404c1f
parentd8ae11c7c4bf2cf51653e7f0a34ced8b8c7a7bd7 (diff)
SocketCAN: Set unused can{fd}_frame fields to zero when writing
At the moment, this is most important for canfd_frame.flags. For other reserved fields this might be important later, too. Change-Id: I66013a5ddac1f2f21a03c28cdbe9ac6719a604ce (cherry picked from commit 7408955f6d44b33403cd6419f8a6452d66ce16a5) Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Rolf Eike Beer <eb@emlix.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
-rw-r--r--src/plugins/canbus/socketcan/socketcanbackend.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/canbus/socketcan/socketcanbackend.cpp b/src/plugins/canbus/socketcan/socketcanbackend.cpp
index 60f36f9..d42ab8e 100644
--- a/src/plugins/canbus/socketcan/socketcanbackend.cpp
+++ b/src/plugins/canbus/socketcan/socketcanbackend.cpp
@@ -380,6 +380,7 @@ bool SocketCanBackend::writeFrame(const QCanBusFrame &newData)
qint64 bytesWritten = 0;
if (canFdOptionEnabled) {
canfd_frame frame;
+ memset(&frame, 0, sizeof(frame));
frame.len = newData.payload().size();
frame.can_id = canId;
::memcpy(frame.data, newData.payload().constData(), frame.len);
@@ -387,6 +388,7 @@ bool SocketCanBackend::writeFrame(const QCanBusFrame &newData)
bytesWritten = ::write(canSocket, &frame, sizeof(frame));
} else {
can_frame frame;
+ memset(&frame, 0, sizeof(frame));
frame.can_dlc = newData.payload().size();
frame.can_id = canId;
::memcpy(frame.data, newData.payload().constData(), frame.can_dlc);