From 33286a3e74b03d1942a2ad61d69320a9434fd75a Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 11 Aug 2015 06:49:33 +0200 Subject: tracker-udp: prevent read past end of buffer Can happen with incorrect .ini values. --- ftnoir_tracker_udp/ftnoir_tracker_udp.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) mode change 100644 => 100755 ftnoir_tracker_udp/ftnoir_tracker_udp.cpp diff --git a/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp b/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp old mode 100644 new mode 100755 index bc42f402..f03e75aa --- a/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp +++ b/ftnoir_tracker_udp/ftnoir_tracker_udp.cpp @@ -59,7 +59,10 @@ void FTNoIR_Tracker::data(double *data) }; for (int i = 0; i < 3; i++) - data[Yaw + i] += values[indices[i]]; + { + int k = std::min(sizeof(values)/sizeof(values[0]), std::max(0, indices[i])); + data[Yaw + i] += values[k]; + } } -- cgit v1.2.3