diff --git a/dynamixel_base/src/dynamixel_slave.c b/dynamixel_base/src/dynamixel_slave.c index c284434a5c3eb68b2d6c28db76169c62a5016d51..3a79a051c12c12421b119f039f1431da8ba76a9e 100644 --- a/dynamixel_base/src/dynamixel_slave.c +++ b/dynamixel_base/src/dynamixel_slave.c @@ -95,6 +95,7 @@ unsigned char dyn_slave_check_new_packet(TDynamixelSlave *slave) if(buffer[0]!=0xFF) return 0x00; if(buffer[1]!=0xFF) return 0x00; if(buffer[2]!=0xFD) return 0x00; + if(dyn2_get_length(buffer)>MAX_DYN_SLAVE_RX_BUFFER_LEN) return 0x00; if(dyn2_check_checksum(buffer)!=0x01) return 0x00; return 0x01; }