Skip to content

Commit c253fe7

Browse files
authored
Add bounds check for msg_stamp before timestamp processing (#2760)
* Add bounds check for msg_stamp before timestamp processing * avoids the extra layer of nesting
1 parent 7b58bdc commit c253fe7

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

runtime/onnxruntime/src/funasrruntime.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -297,12 +297,10 @@
297297
//timestamp
298298
if(msg_vec.size() > 1){
299299
std::vector<std::string> msg_stamp = funasr::split(msg_vec[1], ',');
300-
if (msg_stamp.size() > 1) {
301-
for(int i=0; i<msg_stamp.size()-1; i+=2){
302-
float begin = std::stof(msg_stamp[i])+msg_stimes[idx];
303-
float end = std::stof(msg_stamp[i+1])+msg_stimes[idx];
304-
cur_stamp += "["+std::to_string((int)(1000*begin))+","+std::to_string((int)(1000*end))+"],";
305-
}
300+
for(size_t i = 0; i + 1 < msg_stamp.size(); i += 2){
301+
float begin = std::stof(msg_stamp[i])+msg_stimes[idx];
302+
float end = std::stof(msg_stamp[i+1])+msg_stimes[idx];
303+
cur_stamp += "["+std::to_string((int)(1000*begin))+","+std::to_string((int)(1000*end))+"],";
306304
}
307305
}
308306
}
@@ -421,7 +419,7 @@
421419
//timestamp
422420
if(msg_vec.size() > 1){
423421
std::vector<std::string> msg_stamp = funasr::split(msg_vec[1], ',');
424-
for(int i=0; i<msg_stamp.size()-1; i+=2){
422+
for(size_t i = 0; i + 1 < msg_stamp.size(); i += 2){
425423
float begin = std::stof(msg_stamp[i])+msg_stimes[idx];
426424
float end = std::stof(msg_stamp[i+1])+msg_stimes[idx];
427425
cur_stamp += "["+std::to_string((int)(1000*begin))+","+std::to_string((int)(1000*end))+"],";
@@ -585,7 +583,7 @@
585583
//timestamp
586584
if(msg_vec.size() > 1){
587585
std::vector<std::string> msg_stamp = funasr::split(msg_vec[1], ',');
588-
for(int i=0; i<msg_stamp.size()-1; i+=2){
586+
for(size_t i = 0; i + 1 < msg_stamp.size(); i += 2){
589587
float begin = std::stof(msg_stamp[i]) + float(frame->global_start)/1000.0;
590588
float end = std::stof(msg_stamp[i+1]) + float(frame->global_start)/1000.0;
591589
cur_stamp += "["+std::to_string((int)(1000*begin))+","+std::to_string((int)(1000*end))+"],";

0 commit comments

Comments
 (0)