@@ -1413,29 +1413,29 @@ u8* state_sequence_to_string(unsigned int *stateSequence, unsigned int stateCoun
1413
1413
1414
1414
u8 * out = NULL ;
1415
1415
1416
- char strState [10 ];
1417
- int len = 0 ;
1416
+ char strState [STATE_STR_LEN ];
1417
+ size_t len = 0 ;
1418
1418
for (i = 0 ; i < stateCount ; i ++ ) {
1419
1419
//Limit the loop to shorten the output string
1420
1420
if ((i >= 2 ) && (stateSequence [i ] == stateSequence [i - 1 ]) && (stateSequence [i ] == stateSequence [i - 2 ])) continue ;
1421
1421
unsigned int stateID = stateSequence [i ];
1422
1422
if (i == stateCount - 1 ) {
1423
- sprintf (strState , "%d" , (int ) stateID );
1423
+ snprintf (strState , STATE_STR_LEN , "%d" , (int ) stateID );
1424
1424
} else {
1425
- sprintf (strState , "%d-" , (int ) stateID );
1425
+ snprintf (strState , STATE_STR_LEN , "%d-" , (int ) stateID );
1426
1426
}
1427
1427
out = (u8 * )ck_realloc (out , len + strlen (strState ) + 1 );
1428
1428
memcpy (& out [len ], strState , strlen (strState ) + 1 );
1429
1429
len = strlen (out );
1430
1430
//As Linux limit the size of the file name
1431
1431
//we set a fixed upper bound here
1432
1432
if (len > 150 && (i + 1 < stateCount )) {
1433
- sprintf (strState , "%s" , "end-at-" );
1433
+ snprintf (strState , STATE_STR_LEN , "%s" , "end-at-" );
1434
1434
out = (u8 * )ck_realloc (out , len + strlen (strState ) + 1 );
1435
1435
memcpy (& out [len ], strState , strlen (strState ) + 1 );
1436
1436
len = strlen (out );
1437
1437
1438
- sprintf (strState , "%d" , (int ) stateSequence [stateCount - 1 ]);
1438
+ snprintf (strState , STATE_STR_LEN , "%d" , (int ) stateSequence [stateCount - 1 ]);
1439
1439
out = (u8 * )ck_realloc (out , len + strlen (strState ) + 1 );
1440
1440
memcpy (& out [len ], strState , strlen (strState ) + 1 );
1441
1441
len = strlen (out );
0 commit comments