@@ -24,7 +24,7 @@ Slave::Slave(DXLPortHandler &port, const uint16_t model_num, float protocol_ver)
2424 setPortProtocolVersion (protocol_ver);
2525 addDefaultControlItem ();
2626
27- p_packet_buf_ = new uint8_t [DEFAULT_DXL_BUF_LENGTH];
27+ p_packet_buf_ = new uint8_t [DEFAULT_DXL_BUF_LENGTH + DXL_BYTE_STUFF_SAFE_CNT ];
2828 if (p_packet_buf_ != nullptr ){
2929 packet_buf_capacity_ = DEFAULT_DXL_BUF_LENGTH;
3030 is_buf_malloced_ = true ;
@@ -42,7 +42,7 @@ Slave::Slave(const uint16_t model_num, float protocol_ver)
4242 setPortProtocolVersion (protocol_ver);
4343 addDefaultControlItem ();
4444
45- p_packet_buf_ = new uint8_t [DEFAULT_DXL_BUF_LENGTH];
45+ p_packet_buf_ = new uint8_t [DEFAULT_DXL_BUF_LENGTH + DXL_BYTE_STUFF_SAFE_CNT ];
4646 if (p_packet_buf_ != nullptr ){
4747 packet_buf_capacity_ = DEFAULT_DXL_BUF_LENGTH;
4848 is_buf_malloced_ = true ;
@@ -432,7 +432,7 @@ Slave::processInstRead()
432432 if (addr_length+11 > packet_buf_capacity_){
433433 err = DXL_LIB_ERROR_NOT_ENOUGH_BUFFER_SIZE;
434434 }
435- p_tx_param = &p_packet_buf_[9 ];
435+ p_tx_param = &p_packet_buf_[9 + DXL_BYTE_STUFF_SAFE_CNT ];
436436 }else {
437437 err = DXL_LIB_ERROR_WRONG_PACKET;
438438 }
@@ -443,7 +443,7 @@ Slave::processInstRead()
443443 if (addr_length+6 > packet_buf_capacity_){
444444 err = DXL_LIB_ERROR_NOT_ENOUGH_BUFFER_SIZE;
445445 }
446- p_tx_param = &p_packet_buf_[5 ];
446+ p_tx_param = &p_packet_buf_[5 + DXL_BYTE_STUFF_SAFE_CNT ];
447447 }else {
448448 err = DXL_LIB_ERROR_WRONG_PACKET;
449449 }
0 commit comments