#4211 libecl : Fix for access of data out of bounds

This commit is contained in:
Magne Sjaastad
2019-03-22 08:31:58 +01:00
parent 60c3f60146
commit e1d842d3a4
2 changed files with 6 additions and 3 deletions

View File

@@ -325,7 +325,7 @@ int * ecl_smspec_alloc_mapping( const ecl_smspec_type * self, const ecl_smspec_t
const smspec_node_type * ecl_smspec_iget_node( const ecl_smspec_type * smspec , int index ) {
return (const smspec_node_type*)vector_iget_const( smspec->smspec_nodes , index );
return (const smspec_node_type*)vector_safe_iget_const( smspec->smspec_nodes , index );
}
int ecl_smspec_num_nodes( const ecl_smspec_type * smspec) {

View File

@@ -1087,8 +1087,11 @@ static void ecl_sum_data_init_double_vector__(const ecl_sum_data_type * data, in
data_file->get_data(params_index, index_node.length, &output_data[offset]);
else {
const smspec_node_type * smspec_node = ecl_smspec_iget_node(data->smspec, main_params_index);
for (int i=0; i < index_node.length; i++)
output_data[offset + i] = smspec_node_get_default(smspec_node);
if (smspec_node)
{
for (int i=0; i < index_node.length; i++)
output_data[offset + i] = smspec_node_get_default(smspec_node);
}
}
offset += index_node.length;
}