summaryrefslogtreecommitdiffstats
path: root/src/plugins/canbus/socketcan/socketcanbackend.cpp
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-01-10 08:39:43 +0000
commit7408955f6d44b33403cd6419f8a6452d66ce16a5 (patch)
tree83c035216d943835412a6ff37337be600159a0eb /src/plugins/canbus/socketcan/socketcanbackend.cpp
parent2cb158abd073a7a7746ad8a21ff2a4e583e41345 (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 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Rolf Eike Beer <eb@emlix.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/plugins/canbus/socketcan/socketcanbackend.cpp')
-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 8974279..3226e0e 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 (newData.hasFlexibleDataRateFormat()) {
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);