diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2017-01-09 23:02:45 +0100 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2017-02-06 10:42:55 +0000 |
commit | 0c60b2c10bd30e1ccb775a3fb406ba1e8214b1c3 (patch) | |
tree | 3480d212badfa8ebea089b5d08a8e75405404c1f | |
parent | d8ae11c7c4bf2cf51653e7f0a34ced8b8c7a7bd7 (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.cpp | 2 |
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); |