diff --git a/cr_generate_id.c b/cr_generate_id.c index eba9d91..999ee49 100644 --- a/cr_generate_id.c +++ b/cr_generate_id.c @@ -133,7 +133,7 @@ static u64 generatingCount = 0; // 現在生成中のID(起動時からの通算 int cr_print_flag = 0; // generate_id関数のイニシャライズ -int cr_generate_id_initialize( u8 id_buf[CR_ID_BUF_SIZE] ) +int cr_generate_id_initialize( u8 err[CR_ID_BUF_SIZE] ) { int ret_code = CR_GENID_INITIALIZE_OK; @@ -194,7 +194,7 @@ int cr_generate_id( u32 serial[CR_NUM_OF_SERIAL], u8 id_buf[CR_ID_BUF_SIZE], u8 // エラー発生時に備えて、エラーバッファの初期化とトータルのID生成カウントセット InitErrorInfo(); generatingCount++; - + #ifdef DEBUG_PRINT if( sizeof(CR_ID_BUFFER) != 256 ) { printf( "CR_ID_BUFFER size error. %d\n", sizeof(CR_ID_BUFFER) ); diff --git a/cr_generate_id.h b/cr_generate_id.h index 5014479..097f915 100644 --- a/cr_generate_id.h +++ b/cr_generate_id.h @@ -201,7 +201,7 @@ typedef unsigned long long u64; #define CR_ID1_MASK 0x00000003FFFFFFFFll // 34bit #define CR_ID2_MASK 0xFFFFFFFFFFFFFFFFll // 64bit -extern int cr_generate_id_initialize( u8 id[CR_ID_BUF_SIZE] ); +extern int cr_generate_id_initialize( u8 err[CR_ID_BUF_SIZE] ); extern int cr_generate_id( u32 serial[CR_NUM_OF_SERIAL], u8 id[CR_ID_BUF_SIZE], u8 bondingOption ); extern int cr_generate_id_finalize( void ); diff --git a/cr_id_util.c b/cr_id_util.c index 19b3332..c84c290 100644 --- a/cr_id_util.c +++ b/cr_id_util.c @@ -251,13 +251,13 @@ void SetErrorInfo( const char *funcName, u32 line ) int len; char str[64]; - sprintf( str, "%s:%d ", funcName, (int)line ); + snprintf( str, sizeof( str ), "%s:%d ", funcName, (int)line ); len = strlen( str ); if ( len > errorInfo.emptySize ) { errorInfo.stop = 1; - return; + len = errorInfo.emptySize; } memcpy( &errorInfo.stack[ errorInfo.position ], str, len );