mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Fix segm fault on known CSV imports
If the header line is not set up properly, the known imports assignments will index out of the array. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
9c4a4cb9f8
commit
d501445bea
1 changed files with 9 additions and 9 deletions
|
@ -435,23 +435,23 @@ void DiveLogImportDialog::loadFileContents(int value, whatChanged triggeredBy)
|
||||||
// now set up time, depth, temperature, po2, cns, ndl, tts, stopdepth, pressure
|
// now set up time, depth, temperature, po2, cns, ndl, tts, stopdepth, pressure
|
||||||
for (int i = 0; i < currColumns.count(); i++)
|
for (int i = 0; i < currColumns.count(); i++)
|
||||||
headers.append("");
|
headers.append("");
|
||||||
if (CSVApps[value].time != -1)
|
if (CSVApps[value].time != -1 && CSVApps[value].time < currColumns.count())
|
||||||
headers.replace(CSVApps[value].time, tr("Sample time"));
|
headers.replace(CSVApps[value].time, tr("Sample time"));
|
||||||
if (CSVApps[value].depth != -1)
|
if (CSVApps[value].depth != -1 && CSVApps[value].depth < currColumns.count())
|
||||||
headers.replace(CSVApps[value].depth, tr("Sample depth"));
|
headers.replace(CSVApps[value].depth, tr("Sample depth"));
|
||||||
if (CSVApps[value].temperature != -1)
|
if (CSVApps[value].temperature != -1 && CSVApps[value].temperature < currColumns.count())
|
||||||
headers.replace(CSVApps[value].temperature, tr("Sample temperature"));
|
headers.replace(CSVApps[value].temperature, tr("Sample temperature"));
|
||||||
if (CSVApps[value].po2 != -1)
|
if (CSVApps[value].po2 != -1 && CSVApps[value].po2 < currColumns.count())
|
||||||
headers.replace(CSVApps[value].po2, tr("Sample po2"));
|
headers.replace(CSVApps[value].po2, tr("Sample po2"));
|
||||||
if (CSVApps[value].cns != -1)
|
if (CSVApps[value].cns != -1 && CSVApps[value].cns < currColumns.count())
|
||||||
headers.replace(CSVApps[value].cns, tr("Sample cns"));
|
headers.replace(CSVApps[value].cns, tr("Sample cns"));
|
||||||
if (CSVApps[value].ndl != -1)
|
if (CSVApps[value].ndl != -1 && CSVApps[value].ndl < currColumns.count())
|
||||||
headers.replace(CSVApps[value].ndl, tr("Sample ndl"));
|
headers.replace(CSVApps[value].ndl, tr("Sample ndl"));
|
||||||
if (CSVApps[value].tts != -1)
|
if (CSVApps[value].tts != -1 && CSVApps[value].tts < currColumns.count())
|
||||||
headers.replace(CSVApps[value].tts, tr("Sample tts"));
|
headers.replace(CSVApps[value].tts, tr("Sample tts"));
|
||||||
if (CSVApps[value].stopdepth != -1)
|
if (CSVApps[value].stopdepth != -1 && CSVApps[value].stopdepth < currColumns.count())
|
||||||
headers.replace(CSVApps[value].stopdepth, tr("Sample stopdepth"));
|
headers.replace(CSVApps[value].stopdepth, tr("Sample stopdepth"));
|
||||||
if (CSVApps[value].pressure != -1)
|
if (CSVApps[value].pressure != -1 && CSVApps[value].pressure < currColumns.count())
|
||||||
headers.replace(CSVApps[value].pressure, tr("Samples pressure"));
|
headers.replace(CSVApps[value].pressure, tr("Samples pressure"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue