From a49e11653d77a140342432e771245edb5c7a8b1d Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Tue, 29 Oct 2019 22:43:39 +0100 Subject: [PATCH] average: fixes out-of-bound access in average hook (closes #249) --- lib/hooks/average.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/hooks/average.cpp b/lib/hooks/average.cpp index d2135f491..fd7e5aa89 100644 --- a/lib/hooks/average.cpp +++ b/lib/hooks/average.cpp @@ -39,7 +39,7 @@ namespace node { class AverageHook : public Hook { protected: - int offset; + unsigned offset; std::bitset mask; vlist signal_names; @@ -164,6 +164,10 @@ public: } avg = sum / n; + + if (offset >= smp->length) + return Reason::ERROR; + sample_data_insert(smp, (union signal_data *) &avg, offset, 1); smp->signals = &signals;