Skip to content
Snippets Groups Projects
Commit 7a8f1b95 authored by Satoru Yamada's avatar Satoru Yamada
Browse files

To avoid segv due to buffer-overflow.

-           cur_pos = cur_pos + j;
+           cur_pos = ( cur_pos + j ) % DMASIZE;
parent 7dd8631f
No related branches found
No related tags found
No related merge requests found
......@@ -156,8 +156,8 @@ int crc_calc_event( unsigned int* data, int start_pos ){
}else{
good_flag = 1;
// printf("%.2d Good ! calcd %.4x data %.4x offset %.4x size %.4x szlnk %.4x trl %.8x\n",
// link_num, crc, data[ cur_pos % DMASIZE ] & 0xffff, offset, size, size_link, data[ (cur_pos+1) % DMASIZE ] );
printf("%.2d Good ! calcd %.4x data %.4x offset %.4x size %.4x szlnk %.4x trl %.8x\n",
link_num, crc, data[ cur_pos % DMASIZE ] & 0xffff, offset, size, size_link, data[ (cur_pos+1) % DMASIZE ] );
}
link_num++;
......@@ -209,13 +209,13 @@ int check_hdr_trl( unsigned int *data, int cur_pos, int *event_flag,
printf( "OLD or same event : run %.8x eve %.8x ( cur run %.8x eve %.8x) : pos %.8x size %d\n",
*next_exp_run , *next_eve, cur_exp_run, cur_eve, cur_pos, size );
*event_flag = OLD_EVENT;
}else if( trailer != 0x7fff0006 ){
}else if( trailer != 0x7fff0008 ){
printf( "No trailer [%.8x] : run %.8x eve %.8x ( cur run %.8x eve %.8x) : pos %.8x size %d\n",
trailer, *next_exp_run , *next_eve, cur_exp_run, cur_eve, cur_pos, size );
print_line( data, ( cur_pos + size + DMASIZE - 1 ) % DMASIZE );
*event_flag = NO_TRAILER;
}else{
printf( "Good event : run %.8x eve %.8x ( cur run %.8x eve %.8x) : pos %.8x size %d\n",
printf( "New event : run %.8x eve %.8x ( cur run %.8x eve %.8x) : pos %.8x size %d\n",
*next_exp_run , *next_eve, cur_exp_run, cur_eve, cur_pos, size );
}
print_line( data, cur_pos );
......@@ -328,10 +328,9 @@ int main (int argc ,char** argv) {
cnt = 0;
int j = 0 ;
for ( j = 0 ; j < DMASIZE ; ++j ) {
ret = check_hdr_trl( data, cur_pos + j, &event_flag, cur_exp_run,
cur_eve, &next_exp_run, &next_eve );
ret = check_hdr_trl( data, cur_pos + j, &event_flag, cur_exp_run, cur_eve, &next_exp_run, &next_eve );
if( ret == 1 ){
cur_pos = cur_pos + j;
cur_pos = ( cur_pos + j ) % DMASIZE;
break;
}
}
......@@ -339,6 +338,7 @@ int main (int argc ,char** argv) {
cnt++;
}
//
// Check event-data
//
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment