Skip to content

Commit fb8f885

Browse files
committed
[Fix] local variable initialization
1 parent d226127 commit fb8f885

15 files changed

+119
-119
lines changed

src/xarm/core/common/queue_memcpy.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
QueueMemcpy::QueueMemcpy(long n, long n_size) {
1616
total_ = n;
1717
annode_size_ = n_size;
18-
buf_ = new char[total_ * annode_size_];
18+
buf_ = new char[total_ * annode_size_]();
1919
flush();
2020
}
2121

src/xarm/core/debug/debug_print.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ void print_nvect(const char *str, int vect[], int n) {
5454

5555
void print_hex(const char *str, unsigned char *hex, int len) {
5656
// char buf[len * 3 + 1] = {'\0'};
57-
char *buf = new char[len * 3 + 1];
57+
char *buf = new char[len * 3 + 1]();
5858
long i;
5959
for (i = 0; i < len; ++i) { sprintf((char *)&buf[i * 3], "%02x ", hex[i]); }
6060

src/xarm/core/instruction/uxbus_cmd.cc

+73-73
Large diffs are not rendered by default.

src/xarm/core/instruction/uxbus_cmd_ser.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ int UxbusCmdSer::check_xbus_prot(unsigned char *datas, int funcode) {
2828
int UxbusCmdSer::send_pend(int funcode, int num, int timeout, unsigned char *ret_data) {
2929
int ret;
3030
// unsigned char rx_data[arm_port_->que_maxlen] = {0};
31-
unsigned char *rx_data = new unsigned char[arm_port_->que_maxlen];
31+
unsigned char *rx_data = new unsigned char[arm_port_->que_maxlen]();
3232
long long expired = get_system_time() + (long long)timeout;
3333
while (get_system_time() < expired) {
3434
ret = arm_port_->read_frame(rx_data);
@@ -47,7 +47,7 @@ int UxbusCmdSer::send_pend(int funcode, int num, int timeout, unsigned char *ret
4747
int UxbusCmdSer::send_xbus(int funcode, unsigned char *datas, int num) {
4848
int i;
4949
// unsigned char send_data[num + 4];
50-
unsigned char *send_data = new unsigned char[num + 4];
50+
unsigned char *send_data = new unsigned char[num + 4]();
5151

5252
send_data[0] = UXBUS_CONF::MASTER_ID;
5353
send_data[1] = UXBUS_CONF::SLAVE_ID;

src/xarm/core/instruction/uxbus_cmd_tcp.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ int UxbusCmdTcp::send_pend(int funcode, int num, int timeout, unsigned char *ret
7878
int ret = UXBUS_STATE::ERR_TOUT;
7979
int code;
8080
// unsigned char rx_data[arm_port_->que_maxlen] = {0};
81-
unsigned char *rx_data = new unsigned char[arm_port_->que_maxlen];
81+
unsigned char *rx_data = new unsigned char[arm_port_->que_maxlen]();
8282
long long expired = get_system_time() + (long long)timeout;
8383
while (get_system_time() < expired) {
8484
code = arm_port_->read_frame(rx_data);
@@ -110,7 +110,7 @@ int UxbusCmdTcp::send_pend(int funcode, int num, int timeout, unsigned char *ret
110110
int UxbusCmdTcp::send_xbus(int funcode, unsigned char *datas, int num) {
111111
int len = num + 7;
112112
// unsigned char send_data[len];
113-
unsigned char *send_data = new unsigned char[len];
113+
unsigned char *send_data = new unsigned char[len]();
114114

115115
bin16_to_8(bus_flag_, &send_data[0]);
116116
bin16_to_8(prot_flag_, &send_data[2]);

src/xarm/core/port/socket.cc

+3-3
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ void SocketPort::recv_report_proc(void) {
6262
int ret;
6363
int size = 0;
6464
int num = 0, data_num = 0;
65-
unsigned char *recv_data = new unsigned char[que_maxlen];
66-
unsigned char *tmp_data = new unsigned char[que_maxlen];
65+
unsigned char *recv_data = new unsigned char[que_maxlen]();
66+
unsigned char *tmp_data = new unsigned char[que_maxlen]();
6767
bool size_is_not_confirm = false;
6868

6969
unsigned long long recv_prev_ms = 0;
@@ -175,7 +175,7 @@ void SocketPort::recv_proc(void) {
175175
int ret;
176176
int failed_cnt = 0;
177177
int num = 0;
178-
unsigned char *recv_data = new unsigned char[que_maxlen];
178+
unsigned char *recv_data = new unsigned char[que_maxlen]();
179179
while (state_ == 0) {
180180
memset(recv_data, 0, que_maxlen);
181181
num = recv(fp_, (char *)&recv_data[4], que_maxlen - 4, 0);

src/xarm/wrapper/xarm_api.cc

+8-8
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ void XArmAPI::_sync(void) {
302302

303303
void XArmAPI::_check_version(void) {
304304
int cnt = 5;
305-
unsigned char version_[40];
305+
unsigned char version_[40] = { 0 };
306306
int ret = -1;
307307
while ((ret < 0 || ret > 2) && cnt > 0) {
308308
ret = get_version(version_);
@@ -376,7 +376,7 @@ void XArmAPI::_check_version(void) {
376376
version_number[2] = revision_version_number_;
377377
if (check_robot_sn_) {
378378
cnt = 5;
379-
int err_warn[2];
379+
int err_warn[2] = { 0 };
380380
ret = -1;
381381
while ((ret < 0 || ret > 2) && cnt > 0 && warn_code == 0) {
382382
ret = get_robot_sn(version_);
@@ -399,7 +399,7 @@ void XArmAPI::_wait_until_not_pause(void) {
399399

400400
void XArmAPI::_wait_until_cmdnum_lt_max(void) {
401401
if (!check_cmdnum_limit_) return;
402-
int cmdnum_;
402+
int cmdnum_ = 0;
403403
while (is_connected() && cmd_num >= max_cmdnum_) {
404404
if (get_system_time() - last_report_time_ > 400) {
405405
get_cmdnum(&cmdnum_);
@@ -445,7 +445,7 @@ int XArmAPI::_check_code(int code, bool is_move_cmd, int mode_) {
445445

446446
bool XArmAPI::_version_is_ge(int major, int minor, int revision) {
447447
if (major_version_number_ == 0 && minor_version_number_ == 0 && revision_version_number_ == 0) {
448-
unsigned char version_[40];
448+
unsigned char version_[40] = { 0 };
449449
get_version(version_);
450450

451451
std::string v((const char *)version_);
@@ -613,7 +613,7 @@ int XArmAPI::get_version(unsigned char version_[40]) {
613613

614614
int XArmAPI::get_robot_sn(unsigned char robot_sn[40]) {
615615
if (!is_connected()) return API_CODE::NOT_CONNECTED;
616-
char str[40];
616+
char str[40] = { 0 };
617617
int ret = core->get_robot_sn((unsigned char*)str);
618618
ret = _check_code(ret);
619619
if (ret == 0) {
@@ -830,7 +830,7 @@ int XArmAPI::_wait_move(fp32 timeout) {
830830
long long start_time = get_system_time();
831831
long long expired = timeout <= 0 ? 0 : (get_system_time() + (long long)(timeout * 1000) + (sleep_finish_time_ > start_time ? sleep_finish_time_ : 0));
832832
int cnt = 0;
833-
int state_;
833+
int state_ = state;
834834
int ret = get_state(&state_);
835835
int max_cnt = (ret == 0 && state_ == 1) ? 1 : 10;
836836
while (timeout <= 0 || get_system_time() < expired) {
@@ -941,7 +941,7 @@ int XArmAPI::get_inverse_kinematics(fp32 source_pose[6], fp32 target_angles[7])
941941
for (int i = 0; i < 6; i++) {
942942
pose[i] = (float)(default_is_radian || i < 3 ? source_pose[i] : to_radian(source_pose[i]));
943943
}
944-
fp32 angs[7];
944+
fp32 angs[7] = { 0 };
945945
int ret = core->get_ik(pose, angs);
946946
ret = _check_code(ret);
947947
if (ret == 0) {
@@ -958,7 +958,7 @@ int XArmAPI::get_forward_kinematics(fp32 source_angles[7], fp32 target_pose[6])
958958
for (int i = 0; i < 7; i++) {
959959
angs[i] = (float)(default_is_radian ? source_angles[i] : to_radian(source_angles[i]));
960960
}
961-
fp32 pose[6];
961+
fp32 pose[6] = { 0 };
962962
int ret = core->get_fk(angs, pose);
963963
ret = _check_code(ret);
964964
if (ret == 0) {

src/xarm/wrapper/xarm_ft_sensor.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ int XArmAPI::iden_joint_friction(int *result, unsigned char *sn)
179179
int prot_flag = core->get_prot_flag();
180180
core->set_prot_flag(2);
181181
keep_heart_ = false;
182-
float tmp;
182+
float tmp = 0;
183183
int ret = core->iden_joint_friction(r_sn, &tmp);
184184
*result = ((int)tmp) == 0 ? 0 : -1;
185185
core->set_prot_flag(prot_flag);

src/xarm/wrapper/xarm_gpio.cc

+8-8
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ static int get_baud_inx(int baud) {
2121

2222
int XArmAPI::get_tgpio_version(unsigned char versions[3]) {
2323
if (!is_connected()) return API_CODE::NOT_CONNECTED;
24-
float val1, val2, val3;
25-
int code;
24+
float val1 = 0, val2 = 0, val3 = 0;
25+
int code = 0;
2626
versions[0] = 0;
2727
versions[1] = 0;
2828
versions[2] = 0;
@@ -71,7 +71,7 @@ int XArmAPI::get_tgpio_analog(int ionum, float *value) {
7171

7272
int XArmAPI::get_cgpio_digital(int *digitals, int *digitals2) {
7373
if (!is_connected()) return API_CODE::NOT_CONNECTED;
74-
int tmp;
74+
int tmp = 0;
7575
int ret = core->cgpio_get_auxdigit(&tmp);
7676
for (int i = 0; i < 8; i++) {
7777
digitals[i] = tmp >> i & 0x0001;
@@ -142,7 +142,7 @@ int XArmAPI::get_cgpio_state(int *state_, int *digit_io, fp32 *analog, int *inpu
142142

143143

144144
int XArmAPI::get_suction_cup(int *val) {
145-
int io1;
145+
int io1 = 0;
146146
return get_tgpio_digital(val, &io1);
147147
}
148148

@@ -163,7 +163,7 @@ int XArmAPI::set_suction_cup(bool on, bool wait, float timeout, float delay_sec)
163163
code = code1 == 0 ? code2 : code1;
164164
if (code == 0 && wait) {
165165
long long start_time = get_system_time();
166-
int val, ret;
166+
int val = 0, ret = 0;
167167
code = API_CODE::SUCTION_CUP_TOUT;
168168
while (get_system_time() - start_time < timeout * 1000) {
169169
ret = get_suction_cup(&val);
@@ -239,7 +239,7 @@ int XArmAPI::_check_modbus_code(int ret, unsigned char *rx_data, unsigned char h
239239

240240
int XArmAPI::_get_modbus_baudrate(int *baud_inx, unsigned char host_id) {
241241
if (!is_connected()) return API_CODE::NOT_CONNECTED;
242-
float val;
242+
float val = 0;
243243
int ret = core->tgpio_addr_r16(SERVO3_RG::MODBUS_BAUDRATE & 0x0FFF, &val, host_id);
244244
*baud_inx = (int)val;
245245
if (ret == UXBUS_STATE::ERR_CODE || ret == UXBUS_STATE::WAR_CODE) {
@@ -349,7 +349,7 @@ int XArmAPI::set_tgpio_modbus_baudrate(int baud) {
349349
}
350350

351351
int XArmAPI::get_tgpio_modbus_baudrate(int *baud) {
352-
int cur_baud_inx;
352+
int cur_baud_inx = 0;
353353
int ret = _get_modbus_baudrate(&cur_baud_inx);
354354
if (ret == 0 && cur_baud_inx < 13)
355355
modbus_baud_ = BAUDRATES[cur_baud_inx];
@@ -359,7 +359,7 @@ int XArmAPI::get_tgpio_modbus_baudrate(int *baud) {
359359

360360
int XArmAPI::getset_tgpio_modbus_data(unsigned char *modbus_data, int modbus_length, unsigned char *ret_data, int ret_length, unsigned char host_id, bool is_transparent_transmission, bool use_503_port) {
361361
if (!is_connected()) return API_CODE::NOT_CONNECTED;
362-
unsigned char *rx_data = new unsigned char[ret_length + 1];
362+
unsigned char *rx_data = new unsigned char[ret_length + 1]();
363363
int ret = 0;
364364
if (is_transparent_transmission) {
365365
if (use_503_port) {

src/xarm/wrapper/xarm_gripper.cc

+12-12
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
int XArmAPI::get_gripper_version(unsigned char versions[3]) {
1414
if (!is_connected()) return API_CODE::NOT_CONNECTED;
15-
unsigned char val1[6], val2[6], val3[6];
15+
unsigned char val1[6] = { 0 }, val2[6] = { 0 }, val3[6] = { 0 };
1616
int code = 0;
1717
versions[0] = 0;
1818
versions[1] = 0;
@@ -46,7 +46,7 @@ int XArmAPI::set_gripper_enable(bool enable) {
4646
if (!is_connected()) return API_CODE::NOT_CONNECTED;
4747
if (baud_checkset_flag_ && _checkset_modbus_baud(default_gripper_baud_) != 0) return API_CODE::MODBUS_BAUD_NOT_CORRECT;
4848
int ret = core->gripper_modbus_set_en(int(enable));
49-
int err;
49+
int err = 0;
5050
get_gripper_err_code(&err);
5151
ret = _check_modbus_code(ret);
5252
if (ret == 0 && xarm_gripper_error_code_ == 0) gripper_is_enabled_ = true;
@@ -57,7 +57,7 @@ int XArmAPI::set_gripper_mode(int mode) {
5757
if (!is_connected()) return API_CODE::NOT_CONNECTED;
5858
if (baud_checkset_flag_ && _checkset_modbus_baud(default_gripper_baud_) != 0) return API_CODE::MODBUS_BAUD_NOT_CORRECT;
5959
int ret = core->gripper_modbus_set_mode(mode);
60-
int err;
60+
int err = 0;
6161
get_gripper_err_code(&err);
6262
ret = _check_modbus_code(ret);
6363
return xarm_gripper_error_code_ != 0 ? API_CODE::END_EFFECTOR_HAS_FAULT : ret;
@@ -67,7 +67,7 @@ int XArmAPI::set_gripper_speed(fp32 speed) {
6767
if (!is_connected()) return API_CODE::NOT_CONNECTED;
6868
if (baud_checkset_flag_ && _checkset_modbus_baud(default_gripper_baud_) != 0) return API_CODE::MODBUS_BAUD_NOT_CORRECT;
6969
int ret = core->gripper_modbus_set_posspd(speed);
70-
int err;
70+
int err = 0;
7171
get_gripper_err_code(&err);
7272
ret = _check_modbus_code(ret);
7373
return xarm_gripper_error_code_ != 0 ? API_CODE::END_EFFECTOR_HAS_FAULT : ret;
@@ -77,7 +77,7 @@ int XArmAPI::get_gripper_position(fp32 *pos) {
7777
if (!is_connected()) return API_CODE::NOT_CONNECTED;
7878
if (baud_checkset_flag_ && _checkset_modbus_baud(default_gripper_baud_) != 0) return API_CODE::MODBUS_BAUD_NOT_CORRECT;
7979
int ret = core->gripper_modbus_get_pos(pos);
80-
int err;
80+
int err = 0;
8181
get_gripper_err_code(&err);
8282
ret = _check_modbus_code(ret);
8383
return xarm_gripper_error_code_ != 0 ? API_CODE::END_EFFECTOR_HAS_FAULT : ret;
@@ -100,7 +100,7 @@ int XArmAPI::get_gripper_err_code(int *err) {
100100

101101
bool XArmAPI::_gripper_is_support_status(void) {
102102
if (gripper_version_numbers_[0] == -1 || gripper_version_numbers_[1] == -1 || gripper_version_numbers_[2] == -1) {
103-
unsigned char ver[3];
103+
unsigned char ver[3] = { 0 };
104104
get_gripper_version(ver);
105105
}
106106
return gripper_version_numbers_[0] > 3
@@ -109,7 +109,7 @@ bool XArmAPI::_gripper_is_support_status(void) {
109109
}
110110

111111
int XArmAPI::_get_gripper_status(int *status) {
112-
unsigned char val[6];
112+
unsigned char val[6] = { 0 };
113113
int ret = core->gripper_modbus_r16s(0x0000, 1, val);
114114
ret = _check_modbus_code(ret);
115115
if (ret == 0) {
@@ -120,7 +120,7 @@ int XArmAPI::_get_gripper_status(int *status) {
120120

121121
int XArmAPI::_check_gripper_position(fp32 target_pos, fp32 timeout) {
122122
int ret2 = 0;
123-
float last_pos = 0, pos_tmp, cur_pos;
123+
float last_pos = 0, pos_tmp = 0, cur_pos = 0;
124124
bool is_add = true;
125125
ret2 = get_gripper_position(&pos_tmp);
126126
if (ret2 == 0) {
@@ -194,8 +194,8 @@ int XArmAPI::_check_gripper_status(fp32 timeout) {
194194
bool start_move = false;
195195
int not_start_move_cnt = 0;
196196
int failed_cnt = 0;
197-
int ret;
198-
int status;
197+
int ret = 0;
198+
int status = 0;
199199
int code = API_CODE::WAIT_FINISH_TIMEOUT;
200200
long long expired = get_system_time() + (long long)(timeout * 1000);
201201
while (timeout <= 0 || get_system_time() < expired) {
@@ -232,7 +232,7 @@ int XArmAPI::set_gripper_position(fp32 pos, bool wait, fp32 timeout, bool wait_m
232232
}
233233
if (baud_checkset_flag_ && _checkset_modbus_baud(default_gripper_baud_) != 0) return API_CODE::MODBUS_BAUD_NOT_CORRECT;
234234
int ret = core->gripper_modbus_set_pos(pos);
235-
int err;
235+
int err = 0;
236236
get_gripper_err_code(&err);
237237
ret = _check_modbus_code(ret);
238238
if (xarm_gripper_error_code_ != 0) return API_CODE::END_EFFECTOR_HAS_FAULT;
@@ -251,7 +251,7 @@ int XArmAPI::clean_gripper_error(void) {
251251
if (!is_connected()) return API_CODE::NOT_CONNECTED;
252252
if (baud_checkset_flag_ && _checkset_modbus_baud(default_gripper_baud_) != 0) return API_CODE::MODBUS_BAUD_NOT_CORRECT;
253253
int ret = core->gripper_modbus_clean_err();
254-
int err;
254+
int err = 0;
255255
get_gripper_err_code(&err);
256256
ret = _check_modbus_code(ret);
257257
return xarm_gripper_error_code_ != 0 ? API_CODE::END_EFFECTOR_HAS_FAULT : ret;

src/xarm/wrapper/xarm_motion.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -257,8 +257,8 @@ int XArmAPI::move_gohome(bool wait, fp32 timeout) {
257257
}
258258

259259
void XArmAPI::reset(bool wait, fp32 timeout) {
260-
int err_warn[2];
261-
int state_;
260+
int err_warn[2] = { error_code, warn_code };
261+
int state_ = state;
262262
if (!is_tcp_) {
263263
get_err_warn_code(err_warn);
264264
get_state(&state_);

src/xarm/wrapper/xarm_params.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ int XArmAPI::set_collision_tool_model(int tool_type, int n, ...) {
207207
}
208208
if (n <= (tool_type == COLLISION_TOOL_TYPE::BOX ? 2 : tool_type == COLLISION_TOOL_TYPE::CYLINDER ? 1 : 0))
209209
return API_CODE::PARAM_ERROR;
210-
fp32 *params = new fp32[n];
210+
fp32 *params = new fp32[n]();
211211
va_list args;
212212
va_start(args, n);
213213
int inx = 0;

src/xarm/wrapper/xarm_robotiq.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
int XArmAPI::_robotiq_set(unsigned char *params, int length, unsigned char ret_data[6]) {
1414
if (!is_connected()) return API_CODE::NOT_CONNECTED;
1515
if (baud_checkset_flag_ && _checkset_modbus_baud(default_robotiq_baud_) != 0) return API_CODE::MODBUS_BAUD_NOT_CORRECT;
16-
unsigned char *send_data = new unsigned char[7 + length];
16+
unsigned char *send_data = new unsigned char[7 + length]();
1717
send_data[0] = 0x09;
1818
send_data[1] = 0x10;
1919
send_data[2] = 0x03;
@@ -29,7 +29,7 @@ int XArmAPI::_robotiq_set(unsigned char *params, int length, unsigned char ret_d
2929
int XArmAPI::_robotiq_get(unsigned char ret_data[9], unsigned char number_of_registers) {
3030
if (!is_connected()) return API_CODE::NOT_CONNECTED;
3131
if (baud_checkset_flag_ && _checkset_modbus_baud(default_robotiq_baud_) != 0) return API_CODE::MODBUS_BAUD_NOT_CORRECT;
32-
unsigned char *send_data = new unsigned char[6];
32+
unsigned char *send_data = new unsigned char[6]();
3333
send_data[0] = 0x09;
3434
send_data[1] = 0x03;
3535
send_data[2] = 0x07;

src/xarm/wrapper/xarm_servo.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212

1313
int XArmAPI::get_servo_version(unsigned char versions[3], int servo_id) {
1414
if (!is_connected()) return API_CODE::NOT_CONNECTED;
15-
float val1, val2, val3;
16-
int code;
15+
float val1 = 0.0, val2 = 0.0, val3 = 0.0;
16+
int code = 0;
1717
versions[0] = 0;
1818
versions[1] = 0;
1919
versions[2] = 0;

src/xarm/wrapper/xarm_track.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ int XArmAPI::get_linear_track_registers(LinearTrackStatus *status, int addr, int
2626
{
2727
if (!((addr == 0x0A20 && number_of_registers >= 2) || (addr >= 0x0A22 && addr <= 0x0A27 && number_of_registers >= 1)))
2828
return API_CODE::PARAM_ERROR;
29-
unsigned char *rx_data = new unsigned char[4 + 2 * number_of_registers];
29+
unsigned char *rx_data = new unsigned char[4 + 2 * number_of_registers]();
3030
int ret = _get_linear_track_registers(rx_data, addr, number_of_registers);
3131
if (ret == 0) {
3232
if (addr == 0x0A20 && number_of_registers >= 2) {

0 commit comments

Comments
 (0)