Address warnings reported by MS VS analyzer

This commit is contained in:
Serge Lamikhov-Center 2020-10-30 18:06:26 +02:00
parent 3c434f7587
commit a8831c5d74
2 changed files with 15 additions and 15 deletions

View File

@ -70,7 +70,7 @@ template <class S> class note_section_accessor_template
int align = sizeof( Elf_Word );
const endianess_convertor& convertor = elf_file.get_convertor();
type = convertor( *(const Elf_Word*)( pData + 2 * align ) );
type = convertor( *(const Elf_Word*)( pData + 2 * (size_t)align ) );
Elf_Word namesz = convertor( *(const Elf_Word*)( pData ) );
descSize = convertor( *(const Elf_Word*)( pData + sizeof( namesz ) ) );
@ -80,14 +80,14 @@ template <class S> class note_section_accessor_template
(Elf_Xword)namesz + descSize > max_name_size ) {
return false;
}
name.assign( pData + 3 * align, namesz - 1 );
name.assign( pData + 3 * (size_t)align, namesz - 1 );
if ( 0 == descSize ) {
desc = 0;
}
else {
desc =
const_cast<char*>( pData + 3 * align +
( ( namesz + align - 1 ) / align ) * align );
desc = const_cast<char*>( pData + 3 * (size_t)align +
( ( namesz + align - 1 ) / align ) *
(size_t)align );
}
return true;
@ -114,12 +114,12 @@ template <class S> class note_section_accessor_template
buffer.append( 1, '\x00' );
const char pad[] = { '\0', '\0', '\0', '\0' };
if ( nameLen % align != 0 ) {
buffer.append( pad, align - nameLen % align );
buffer.append( pad, (size_t)align - nameLen % align );
}
if ( desc != 0 && descSize != 0 ) {
buffer.append( reinterpret_cast<const char*>( desc ), descSize );
if ( descSize % align != 0 ) {
buffer.append( pad, (size_t)( align - descSize % align ) );
buffer.append( pad, (size_t)align - descSize % align );
}
}

View File

@ -125,7 +125,7 @@ ELFIO_C_GET_ACCESS_IMPL( section, Elf64_Off, offset );
void elfio_section_get_name( psection_t psection, char* buffer, int len )
{
strncpy( buffer, psection->get_name().c_str(), len - 1 );
strncpy( buffer, psection->get_name().c_str(), (size_t)len - 1 );
}
void elfio_section_set_name( psection_t psection, char* buffer )
@ -225,7 +225,7 @@ bool elfio_symbol_get_symbol( psymbol_t psymbol,
std::string name_param;
bool ret = psymbol->get_symbol( index, name_param, *value, *size, *bind,
*type, *section_index, *other );
strncpy( name, name_param.c_str(), name_len - 1 );
strncpy( name, name_param.c_str(), (size_t)name_len - 1 );
return ret;
}
@ -350,7 +350,7 @@ bool elfio_note_get_note( pnote_t pnote,
{
std::string name_str;
bool ret = pnote->get_note( index, *type, name_str, *desc, *descSize );
strncpy( name, name_str.c_str(), name_len - 1 );
strncpy( name, name_str.c_str(), (size_t)name_len - 1 );
return ret;
}
@ -392,8 +392,8 @@ bool elfio_modinfo_get_attribute( pmodinfo_t pmodinfo,
std::string field_str;
std::string value_str;
bool ret = pmodinfo->get_attribute( no, field_str, value_str );
strncpy( field, field_str.c_str(), field_len - 1 );
strncpy( value, value_str.c_str(), value_len - 1 );
strncpy( field, field_str.c_str(), (size_t)field_len - 1 );
strncpy( value, value_str.c_str(), (size_t)value_len - 1 );
return ret;
}
@ -405,7 +405,7 @@ bool elfio_modinfo_get_attribute_by_name( pmodinfo_t pmodinfo,
{
std::string value_str;
bool ret = pmodinfo->get_attribute( value_str, value_str );
strncpy( value, value_str.c_str(), value_len - 1 );
strncpy( value, value_str.c_str(), (size_t)value_len - 1 );
return ret;
}
@ -444,7 +444,7 @@ bool elfio_dynamic_get_entry( pdynamic_t pdynamic,
{
std::string str_str;
bool ret = pdynamic->get_entry( index, *tag, *value, str_str );
strncpy( str, str_str.c_str(), str_len - 1 );
strncpy( str, str_str.c_str(), (size_t)str_len - 1 );
return ret;
}