low-can: fix aborting on can_data not being an json_type_array 32/23632/1 8.99.5 icefish/8.99.5 icefish_8.99.5
authorMatt Ranostay <matt.ranostay@konsulko.com>
Thu, 23 Jan 2020 22:46:24 +0000 (14:46 -0800)
committerMatt Ranostay <matt.ranostay@konsulko.com>
Thu, 23 Jan 2020 22:51:55 +0000 (14:51 -0800)
Bug-AGL: SPEC-3129
Change-Id: I41928c5f4c467edb176ad6234c9b775e70035319
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
low-can-binding/binding/low-can-cb.cpp

index 3897f8b..d994dd2 100644 (file)
@@ -558,7 +558,9 @@ static void write_raw_frame(afb_req_t request, const std::string& bus_name, mess
                        message->set_maxdlen(J1939_MAX_DLEN);
 #endif
 
-               if(message->get_length() > 0 && message->get_length() <= message->get_maxdlen())
+               if(message->get_length() > 0 &&
+                  message->get_length() <= message->get_maxdlen() &&
+                  json_object_get_type(can_data) == json_type_array)
                {
                        std::vector<uint8_t> data;
                        for (int i = 0 ; i < message->get_length() ; i++)