Modify to receive signal with bigger value than the number of states 66/21566/2
authorHiroki Koga <hiroki@witz-inc.co.jp>
Wed, 5 Jun 2019 08:37:11 +0000 (17:37 +0900)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Wed, 19 Jun 2019 14:15:05 +0000 (14:15 +0000)
Fix the bug about a part of decode_state in can-signals.cpp.

If a state of signal is allocated not in order, the signal
which is bigger value than the number of states cannot be received,
because can_signal_t::get_states compares signal value with
the number of states.
By this modification, get_states is changed to judges
whether a signal value exists in states or not.

Bug AGL: SPEC-2504

Change-Id: Ia67413507950654567808f7a08d0b0b3b47cbd23
Signed-off-by: Hiroki Koga <hiroki@witz-inc.co.jp>
low-can-binding/can/can-signals.cpp

index 240436f..14881e8 100644 (file)
@@ -111,7 +111,7 @@ bool can_signal_t::get_send_same() const
 
 const std::string can_signal_t::get_states(uint8_t value)
 {
-       if (value < states_.size())
+       if ( states_.count(value) > 0 )
                return states_[value];
        return std::string();
 }