mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Observed data parser: Avoid infinite loop on parsing of invalid file
This commit is contained in:
parent
2799d86c01
commit
9aaf56b4ef
@ -308,12 +308,10 @@ std::vector<ColumnInfo> RifEclipseUserDataParserTools::columnInfoForTable(std::s
|
||||
header = false;
|
||||
break;
|
||||
}
|
||||
else if (words.size() > columnCount)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (words.size() > columnCount) break;
|
||||
|
||||
size_t diff = columnCount - words.size();
|
||||
|
||||
if (diff == columnCount)
|
||||
|
@ -752,3 +752,37 @@ TEST(RifKeywordBasedRsmspecParserTest, TestTimeSteps)
|
||||
|
||||
EXPECT_EQ(day1, timeSteps[0]);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST(RifColumnBasedRsmspecParserTest, TestTooManyColumnsInFile)
|
||||
{
|
||||
QString data;
|
||||
QTextStream out(&data);
|
||||
|
||||
out << "1 \n";
|
||||
out << "--------------------------------------- \n";
|
||||
out << "SUMMARY OF RUN BHP_THP USER FILE DATA VECTORS \n";
|
||||
out << "--------------------------------------- \n";
|
||||
out << "TIME WTHPH WBHPH \n";
|
||||
out << "DAYS BARSA BARSA \n";
|
||||
out << " \n";
|
||||
out << " K-6HWG K-6HWG \n";
|
||||
out << " 1 0.0 0.0 0.0 \n";
|
||||
out << " 2 0.0 0.0 0.0 \n";
|
||||
out << " 3 0.0 0.0 0.0 \n";
|
||||
out << " 4 0.0 0.0 0.0 \n";
|
||||
out << " 5 0.0 0.0 0.0 \n";
|
||||
out << " 6 0.0 0.0 0.0 \n";
|
||||
out << " 7 0.0 0.0 0.0 \n";
|
||||
out << " 8 0.0 0.0 0.0 \n";
|
||||
out << " 9 0.0 0.0 0.0 \n";
|
||||
out << " 10 0.0 0.0 0.0 \n";
|
||||
out << " \n";
|
||||
|
||||
RifColumnBasedUserDataParser parser = RifColumnBasedUserDataParser(data);
|
||||
|
||||
std::vector< std::vector<ColumnInfo> > tables = parser.tables();
|
||||
ASSERT_EQ(tables.size(), 1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user