From 094e58d04d8243f43896d9eea9379770f1062aec Mon Sep 17 00:00:00 2001 From: Sean Rhea Date: Sun, 1 Nov 2009 20:00:24 -0500 Subject: [PATCH] switch to QVector and fix a memory error --- src/SrmRideFile.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SrmRideFile.cpp b/src/SrmRideFile.cpp index 46373bf51..74ff1af74 100644 --- a/src/SrmRideFile.cpp +++ b/src/SrmRideFile.cpp @@ -108,7 +108,7 @@ RideFile *SrmFileReader::openRideFile(QFile &file, QStringList &errorStrings) co QDate date(1880, 1, 1); date = date.addDays(dayssince1880); - marker *markers = new marker[markercnt + 1]; + QVector markers(markercnt + 1); for (int i = 0; i <= markercnt; ++i) { char mcomment[256]; in.readRawData(mcomment, sizeof(mcomment) - 1); @@ -190,13 +190,13 @@ RideFile *SrmFileReader::openRideFile(QFile &file, QStringList &errorStrings) co if (i == 0) { result->setStartTime(blockhdrs[blknum].dt); } - if (i == markers[mrknum].end) { + if (mrknum < markers.size() && i == markers[mrknum].end) { ++interval; ++mrknum; } // markers count from 1 - if ((i > 0) && (i == markers[mrknum].start - 1)) + if ((i > 0) && (mrknum < markers.size()) && (i == markers[mrknum].start - 1)) ++interval; km += result->recIntSecs() * kph / 3600.0;